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
This commit is contained in:
@@ -52,7 +52,7 @@
|
||||
static inline void
|
||||
nfsd4_security_inode_setsecctx(struct svc_fh *resfh, struct xdr_netobj *label, u32 *bmval)
|
||||
{
|
||||
struct inode *inode = resfh->fh_dentry->d_inode;
|
||||
struct inode *inode = d_inode(resfh->fh_dentry);
|
||||
int status;
|
||||
|
||||
mutex_lock(&inode->i_mutex);
|
||||
@@ -110,7 +110,7 @@ check_attr_support(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
|
||||
* in current environment or not.
|
||||
*/
|
||||
if (bmval[0] & FATTR4_WORD0_ACL) {
|
||||
if (!IS_POSIXACL(dentry->d_inode))
|
||||
if (!IS_POSIXACL(d_inode(dentry)))
|
||||
return nfserr_attrnotsupp;
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ do_open_permission(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfs
|
||||
|
||||
static __be32 nfsd_check_obj_isreg(struct svc_fh *fh)
|
||||
{
|
||||
umode_t mode = fh->fh_dentry->d_inode->i_mode;
|
||||
umode_t mode = d_inode(fh->fh_dentry)->i_mode;
|
||||
|
||||
if (S_ISREG(mode))
|
||||
return nfs_ok;
|
||||
@@ -881,7 +881,7 @@ nfsd4_secinfo(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
|
||||
&exp, &dentry);
|
||||
if (err)
|
||||
return err;
|
||||
if (dentry->d_inode == NULL) {
|
||||
if (d_really_is_negative(dentry)) {
|
||||
exp_put(exp);
|
||||
err = nfserr_noent;
|
||||
} else
|
||||
@@ -1312,7 +1312,7 @@ nfsd4_layoutget(struct svc_rqst *rqstp,
|
||||
if (atomic_read(&ls->ls_stid.sc_file->fi_lo_recalls))
|
||||
goto out_put_stid;
|
||||
|
||||
nfserr = ops->proc_layoutget(current_fh->fh_dentry->d_inode,
|
||||
nfserr = ops->proc_layoutget(d_inode(current_fh->fh_dentry),
|
||||
current_fh, lgp);
|
||||
if (nfserr)
|
||||
goto out_put_stid;
|
||||
@@ -1346,7 +1346,7 @@ nfsd4_layoutcommit(struct svc_rqst *rqstp,
|
||||
ops = nfsd4_layout_verify(current_fh->fh_export, lcp->lc_layout_type);
|
||||
if (!ops)
|
||||
goto out;
|
||||
inode = current_fh->fh_dentry->d_inode;
|
||||
inode = d_inode(current_fh->fh_dentry);
|
||||
|
||||
nfserr = nfserr_inval;
|
||||
if (new_size <= seg->offset) {
|
||||
|
Reference in New Issue
Block a user