mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-16 09:13:55 +08:00
switch nfs_lookup_check_intent() away from nameidata
just pass the flags Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
02e5180d99
commit
93420b40bb
10
fs/nfs/dir.c
10
fs/nfs/dir.c
@ -1037,10 +1037,10 @@ static int nfs_check_verifier(struct inode *dir, struct dentry *dentry)
|
|||||||
* component of the path and none of them is set before that last
|
* component of the path and none of them is set before that last
|
||||||
* component.
|
* component.
|
||||||
*/
|
*/
|
||||||
static inline unsigned int nfs_lookup_check_intent(struct nameidata *nd,
|
static inline unsigned int nfs_lookup_check_intent(unsigned int flags,
|
||||||
unsigned int mask)
|
unsigned int mask)
|
||||||
{
|
{
|
||||||
return nd->flags & mask;
|
return flags & mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1051,7 +1051,7 @@ static int nfs_is_exclusive_create(struct inode *dir, struct nameidata *nd)
|
|||||||
{
|
{
|
||||||
if (NFS_PROTO(dir)->version == 2)
|
if (NFS_PROTO(dir)->version == 2)
|
||||||
return 0;
|
return 0;
|
||||||
return nd && nfs_lookup_check_intent(nd, LOOKUP_EXCL);
|
return nd && nfs_lookup_check_intent(nd->flags, LOOKUP_EXCL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1074,7 +1074,7 @@ int nfs_lookup_verify_inode(struct inode *inode, struct nameidata *nd)
|
|||||||
if (nd->flags & LOOKUP_REVAL)
|
if (nd->flags & LOOKUP_REVAL)
|
||||||
goto out_force;
|
goto out_force;
|
||||||
/* This is an open(2) */
|
/* This is an open(2) */
|
||||||
if (nfs_lookup_check_intent(nd, LOOKUP_OPEN) != 0 &&
|
if (nfs_lookup_check_intent(nd->flags, LOOKUP_OPEN) != 0 &&
|
||||||
!(server->flags & NFS_MOUNT_NOCTO) &&
|
!(server->flags & NFS_MOUNT_NOCTO) &&
|
||||||
(S_ISREG(inode->i_mode) ||
|
(S_ISREG(inode->i_mode) ||
|
||||||
S_ISDIR(inode->i_mode)))
|
S_ISDIR(inode->i_mode)))
|
||||||
@ -1098,7 +1098,7 @@ int nfs_neg_need_reval(struct inode *dir, struct dentry *dentry,
|
|||||||
struct nameidata *nd)
|
struct nameidata *nd)
|
||||||
{
|
{
|
||||||
/* Don't revalidate a negative dentry if we're creating a new file */
|
/* Don't revalidate a negative dentry if we're creating a new file */
|
||||||
if (nd != NULL && nfs_lookup_check_intent(nd, LOOKUP_CREATE) != 0)
|
if (nd != NULL && nfs_lookup_check_intent(nd->flags, LOOKUP_CREATE) != 0)
|
||||||
return 0;
|
return 0;
|
||||||
if (NFS_SERVER(dir)->flags & NFS_MOUNT_LOOKUP_CACHE_NONEG)
|
if (NFS_SERVER(dir)->flags & NFS_MOUNT_LOOKUP_CACHE_NONEG)
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user