Merge branch 'afs-proc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull AFS updates from Al Viro: "Assorted AFS stuff - ended up in vfs.git since most of that consists of David's AFS-related followups to Christoph's procfs series" * 'afs-proc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: afs: Optimise callback breaking by not repeating volume lookup afs: Display manually added cells in dynamic root mount afs: Enable IPv6 DNS lookups afs: Show all of a server's addresses in /proc/fs/afs/servers afs: Handle CONFIG_PROC_FS=n proc: Make inline name size calculation automatic afs: Implement network namespacing afs: Mark afs_net::ws_cell as __rcu and set using rcu functions afs: Fix a Sparse warning in xdr_decode_AFSFetchStatus() proc: Add a way to make network proc files writable afs: Rearrange fs/afs/proc.c to remove remaining predeclarations. afs: Rearrange fs/afs/proc.c to move the show routines up afs: Rearrange fs/afs/proc.c by moving fops and open functions down afs: Move /proc management functions to the end of the file
This commit is contained in:
29
fs/namei.c
29
fs/namei.c
@@ -2463,6 +2463,35 @@ static int lookup_one_len_common(const char *name, struct dentry *base,
|
||||
return inode_permission(base->d_inode, MAY_EXEC);
|
||||
}
|
||||
|
||||
/**
|
||||
* try_lookup_one_len - filesystem helper to lookup single pathname component
|
||||
* @name: pathname component to lookup
|
||||
* @base: base directory to lookup from
|
||||
* @len: maximum length @len should be interpreted to
|
||||
*
|
||||
* Look up a dentry by name in the dcache, returning NULL if it does not
|
||||
* currently exist. The function does not try to create a dentry.
|
||||
*
|
||||
* Note that this routine is purely a helper for filesystem usage and should
|
||||
* not be called by generic code.
|
||||
*
|
||||
* The caller must hold base->i_mutex.
|
||||
*/
|
||||
struct dentry *try_lookup_one_len(const char *name, struct dentry *base, int len)
|
||||
{
|
||||
struct qstr this;
|
||||
int err;
|
||||
|
||||
WARN_ON_ONCE(!inode_is_locked(base->d_inode));
|
||||
|
||||
err = lookup_one_len_common(name, base, len, &this);
|
||||
if (err)
|
||||
return ERR_PTR(err);
|
||||
|
||||
return lookup_dcache(&this, base, 0);
|
||||
}
|
||||
EXPORT_SYMBOL(try_lookup_one_len);
|
||||
|
||||
/**
|
||||
* lookup_one_len - filesystem helper to lookup single pathname component
|
||||
* @name: pathname component to lookup
|
||||
|
Reference in New Issue
Block a user