diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-26 18:48:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-26 20:22:07 -0400 |
commit | 9ec3a646fe09970f801ab15e0f1694060b9f19af (patch) | |
tree | 697058ca7e1671eda180a3ccc62445686fbc1a31 /fs/nfsd/nfs4proc.c | |
parent | c8b3fd0ce313443731e8fd6d5a541085eb465f99 (diff) | |
parent | 3cab989afd8d8d1bc3d99fef0e7ed87c31e7b647 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull fourth vfs update from Al Viro:
"d_inode() annotations from David Howells (sat in for-next since before
the beginning of merge window) + four assorted fixes"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
RCU pathwalk breakage when running into a symlink overmounting something
fix I_DIO_WAKEUP definition
direct-io: only inc/dec inode->i_dio_count for file systems
fs/9p: fix readdir()
VFS: assorted d_backing_inode() annotations
VFS: fs/inode.c helpers: d_inode() annotations
VFS: fs/cachefiles: d_backing_inode() annotations
VFS: fs library helpers: d_inode() annotations
VFS: assorted weird filesystems: d_inode() annotations
VFS: normal filesystems (and lustre): d_inode() annotations
VFS: security/: d_inode() annotations
VFS: security/: d_backing_inode() annotations
VFS: net/: d_inode() annotations
VFS: net/unix: d_backing_inode() annotations
VFS: kernel/: d_inode() annotations
VFS: audit: d_backing_inode() annotations
VFS: Fix up some ->d_inode accesses in the chelsio driver
VFS: Cachefiles should perform fs modifications on the top layer only
VFS: AF_UNIX sockets should call mknod on the top layer only
Diffstat (limited to 'fs/nfsd/nfs4proc.c')
-rw-r--r-- | fs/nfsd/nfs4proc.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 4a8314f08a0e..864e2003e8de 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c | |||
@@ -52,7 +52,7 @@ | |||
52 | static inline void | 52 | static inline void |
53 | nfsd4_security_inode_setsecctx(struct svc_fh *resfh, struct xdr_netobj *label, u32 *bmval) | 53 | nfsd4_security_inode_setsecctx(struct svc_fh *resfh, struct xdr_netobj *label, u32 *bmval) |
54 | { | 54 | { |
55 | struct inode *inode = resfh->fh_dentry->d_inode; | 55 | struct inode *inode = d_inode(resfh->fh_dentry); |
56 | int status; | 56 | int status; |
57 | 57 | ||
58 | mutex_lock(&inode->i_mutex); | 58 | mutex_lock(&inode->i_mutex); |
@@ -110,7 +110,7 @@ check_attr_support(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
110 | * in current environment or not. | 110 | * in current environment or not. |
111 | */ | 111 | */ |
112 | if (bmval[0] & FATTR4_WORD0_ACL) { | 112 | if (bmval[0] & FATTR4_WORD0_ACL) { |
113 | if (!IS_POSIXACL(dentry->d_inode)) | 113 | if (!IS_POSIXACL(d_inode(dentry))) |
114 | return nfserr_attrnotsupp; | 114 | return nfserr_attrnotsupp; |
115 | } | 115 | } |
116 | 116 | ||
@@ -209,7 +209,7 @@ do_open_permission(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfs | |||
209 | 209 | ||
210 | static __be32 nfsd_check_obj_isreg(struct svc_fh *fh) | 210 | static __be32 nfsd_check_obj_isreg(struct svc_fh *fh) |
211 | { | 211 | { |
212 | umode_t mode = fh->fh_dentry->d_inode->i_mode; | 212 | umode_t mode = d_inode(fh->fh_dentry)->i_mode; |
213 | 213 | ||
214 | if (S_ISREG(mode)) | 214 | if (S_ISREG(mode)) |
215 | return nfs_ok; | 215 | return nfs_ok; |
@@ -881,7 +881,7 @@ nfsd4_secinfo(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
881 | &exp, &dentry); | 881 | &exp, &dentry); |
882 | if (err) | 882 | if (err) |
883 | return err; | 883 | return err; |
884 | if (dentry->d_inode == NULL) { | 884 | if (d_really_is_negative(dentry)) { |
885 | exp_put(exp); | 885 | exp_put(exp); |
886 | err = nfserr_noent; | 886 | err = nfserr_noent; |
887 | } else | 887 | } else |
@@ -1312,7 +1312,7 @@ nfsd4_layoutget(struct svc_rqst *rqstp, | |||
1312 | if (atomic_read(&ls->ls_stid.sc_file->fi_lo_recalls)) | 1312 | if (atomic_read(&ls->ls_stid.sc_file->fi_lo_recalls)) |
1313 | goto out_put_stid; | 1313 | goto out_put_stid; |
1314 | 1314 | ||
1315 | nfserr = ops->proc_layoutget(current_fh->fh_dentry->d_inode, | 1315 | nfserr = ops->proc_layoutget(d_inode(current_fh->fh_dentry), |
1316 | current_fh, lgp); | 1316 | current_fh, lgp); |
1317 | if (nfserr) | 1317 | if (nfserr) |
1318 | goto out_put_stid; | 1318 | goto out_put_stid; |
@@ -1346,7 +1346,7 @@ nfsd4_layoutcommit(struct svc_rqst *rqstp, | |||
1346 | ops = nfsd4_layout_verify(current_fh->fh_export, lcp->lc_layout_type); | 1346 | ops = nfsd4_layout_verify(current_fh->fh_export, lcp->lc_layout_type); |
1347 | if (!ops) | 1347 | if (!ops) |
1348 | goto out; | 1348 | goto out; |
1349 | inode = current_fh->fh_dentry->d_inode; | 1349 | inode = d_inode(current_fh->fh_dentry); |
1350 | 1350 | ||
1351 | nfserr = nfserr_inval; | 1351 | nfserr = nfserr_inval; |
1352 | if (new_size <= seg->offset) { | 1352 | if (new_size <= seg->offset) { |