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:
@@ -304,7 +304,7 @@ xfs_vn_link(
|
||||
struct inode *dir,
|
||||
struct dentry *dentry)
|
||||
{
|
||||
struct inode *inode = old_dentry->d_inode;
|
||||
struct inode *inode = d_inode(old_dentry);
|
||||
struct xfs_name name;
|
||||
int error;
|
||||
|
||||
@@ -329,7 +329,7 @@ xfs_vn_unlink(
|
||||
|
||||
xfs_dentry_to_name(&name, dentry, 0);
|
||||
|
||||
error = xfs_remove(XFS_I(dir), &name, XFS_I(dentry->d_inode));
|
||||
error = xfs_remove(XFS_I(dir), &name, XFS_I(d_inode(dentry)));
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
@@ -389,7 +389,7 @@ xfs_vn_rename(
|
||||
struct dentry *ndentry,
|
||||
unsigned int flags)
|
||||
{
|
||||
struct inode *new_inode = ndentry->d_inode;
|
||||
struct inode *new_inode = d_inode(ndentry);
|
||||
int omode = 0;
|
||||
struct xfs_name oname;
|
||||
struct xfs_name nname;
|
||||
@@ -399,12 +399,12 @@ xfs_vn_rename(
|
||||
|
||||
/* if we are exchanging files, we need to set i_mode of both files */
|
||||
if (flags & RENAME_EXCHANGE)
|
||||
omode = ndentry->d_inode->i_mode;
|
||||
omode = d_inode(ndentry)->i_mode;
|
||||
|
||||
xfs_dentry_to_name(&oname, odentry, omode);
|
||||
xfs_dentry_to_name(&nname, ndentry, odentry->d_inode->i_mode);
|
||||
xfs_dentry_to_name(&nname, ndentry, d_inode(odentry)->i_mode);
|
||||
|
||||
return xfs_rename(XFS_I(odir), &oname, XFS_I(odentry->d_inode),
|
||||
return xfs_rename(XFS_I(odir), &oname, XFS_I(d_inode(odentry)),
|
||||
XFS_I(ndir), &nname,
|
||||
new_inode ? XFS_I(new_inode) : NULL, flags);
|
||||
}
|
||||
@@ -426,7 +426,7 @@ xfs_vn_follow_link(
|
||||
if (!link)
|
||||
goto out_err;
|
||||
|
||||
error = xfs_readlink(XFS_I(dentry->d_inode), link);
|
||||
error = xfs_readlink(XFS_I(d_inode(dentry)), link);
|
||||
if (unlikely(error))
|
||||
goto out_kfree;
|
||||
|
||||
@@ -446,7 +446,7 @@ xfs_vn_getattr(
|
||||
struct dentry *dentry,
|
||||
struct kstat *stat)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
struct xfs_inode *ip = XFS_I(inode);
|
||||
struct xfs_mount *mp = ip->i_mount;
|
||||
|
||||
@@ -946,14 +946,14 @@ xfs_vn_setattr(
|
||||
struct dentry *dentry,
|
||||
struct iattr *iattr)
|
||||
{
|
||||
struct xfs_inode *ip = XFS_I(dentry->d_inode);
|
||||
struct xfs_inode *ip = XFS_I(d_inode(dentry));
|
||||
int error;
|
||||
|
||||
if (iattr->ia_valid & ATTR_SIZE) {
|
||||
uint iolock = XFS_IOLOCK_EXCL;
|
||||
|
||||
xfs_ilock(ip, iolock);
|
||||
error = xfs_break_layouts(dentry->d_inode, &iolock, true);
|
||||
error = xfs_break_layouts(d_inode(dentry), &iolock, true);
|
||||
if (!error) {
|
||||
xfs_ilock(ip, XFS_MMAPLOCK_EXCL);
|
||||
iolock |= XFS_MMAPLOCK_EXCL;
|
||||
|
Reference in New Issue
Block a user