History

new helper: lookup_positive_unlocked()

Most of the callers of lookup_one_len_unlocked() treat negatives are ERR_PTR(-ENOENT). Provide a helper that would do just that. Note that a pinned positive dentry remains positive - it's ->d_inode is stable, etc.; a pinned _negative_ dentry can become positive at any point as long as you are not holding its parent at least shared. So using lookup_one_len_unlocked() needs to be careful; lookup_positive_unlocked() is safer and that's what the callers end up open-coding anyway.

Al Viro committed 7 years ago

Commit 6c2d4791 parent d41efb59 files · +35 −47Browse files

Showing the changes to include/linux (1 of 9 files). Show all

Unified · Split

include/linux/namei.h+1−0
@@ -60,6 +60,7 @@ extern int kern_path_mountpoint(int, const char *, struct path *, unsigned int); · 59 unmodified lines
6060 extern struct dentry *try_lookup_one_len(const char *, struct dentry *, int);
6161 extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
6262 extern struct dentry *lookup_one_len_unlocked(const char *, struct dentry *, int);
63+extern struct dentry *lookup_positive_unlocked(const char *, struct dentry *, int);
6364
6465 extern int follow_down_one(struct path *);
6566 extern int follow_down(struct path *);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t