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:
@@ -138,7 +138,7 @@ affs_fix_dcache(struct inode *inode, u32 entry_ino)
|
||||
static int
|
||||
affs_remove_link(struct dentry *dentry)
|
||||
{
|
||||
struct inode *dir, *inode = dentry->d_inode;
|
||||
struct inode *dir, *inode = d_inode(dentry);
|
||||
struct super_block *sb = inode->i_sb;
|
||||
struct buffer_head *bh = NULL, *link_bh = NULL;
|
||||
u32 link_ino, ino;
|
||||
@@ -268,11 +268,11 @@ affs_remove_header(struct dentry *dentry)
|
||||
struct buffer_head *bh = NULL;
|
||||
int retval;
|
||||
|
||||
dir = dentry->d_parent->d_inode;
|
||||
dir = d_inode(dentry->d_parent);
|
||||
sb = dir->i_sb;
|
||||
|
||||
retval = -ENOENT;
|
||||
inode = dentry->d_inode;
|
||||
inode = d_inode(dentry);
|
||||
if (!inode)
|
||||
goto done;
|
||||
|
||||
@@ -471,10 +471,9 @@ affs_warning(struct super_block *sb, const char *function, const char *fmt, ...)
|
||||
bool
|
||||
affs_nofilenametruncate(const struct dentry *dentry)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
|
||||
return affs_test_opt(AFFS_SB(inode->i_sb)->s_flags, SF_NO_TRUNCATE);
|
||||
|
||||
}
|
||||
|
||||
/* Check if the name is valid for a affs object. */
|
||||
|
@@ -213,7 +213,7 @@ affs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
||||
int
|
||||
affs_notify_change(struct dentry *dentry, struct iattr *attr)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
int error;
|
||||
|
||||
pr_debug("notify_change(%lu,0x%x)\n", inode->i_ino, attr->ia_valid);
|
||||
|
@@ -251,7 +251,7 @@ int
|
||||
affs_unlink(struct inode *dir, struct dentry *dentry)
|
||||
{
|
||||
pr_debug("%s(dir=%lu, %lu \"%pd\")\n", __func__, dir->i_ino,
|
||||
dentry->d_inode->i_ino, dentry);
|
||||
d_inode(dentry)->i_ino, dentry);
|
||||
|
||||
return affs_remove_header(dentry);
|
||||
}
|
||||
@@ -320,7 +320,7 @@ int
|
||||
affs_rmdir(struct inode *dir, struct dentry *dentry)
|
||||
{
|
||||
pr_debug("%s(dir=%lu, %lu \"%pd\")\n", __func__, dir->i_ino,
|
||||
dentry->d_inode->i_ino, dentry);
|
||||
d_inode(dentry)->i_ino, dentry);
|
||||
|
||||
return affs_remove_header(dentry);
|
||||
}
|
||||
@@ -403,7 +403,7 @@ err:
|
||||
int
|
||||
affs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry)
|
||||
{
|
||||
struct inode *inode = old_dentry->d_inode;
|
||||
struct inode *inode = d_inode(old_dentry);
|
||||
|
||||
pr_debug("%s(%lu, %lu, \"%pd\")\n", __func__, inode->i_ino, dir->i_ino,
|
||||
dentry);
|
||||
@@ -430,13 +430,13 @@ affs_rename(struct inode *old_dir, struct dentry *old_dentry,
|
||||
return retval;
|
||||
|
||||
/* Unlink destination if it already exists */
|
||||
if (new_dentry->d_inode) {
|
||||
if (d_really_is_positive(new_dentry)) {
|
||||
retval = affs_remove_header(new_dentry);
|
||||
if (retval)
|
||||
return retval;
|
||||
}
|
||||
|
||||
bh = affs_bread(sb, old_dentry->d_inode->i_ino);
|
||||
bh = affs_bread(sb, d_inode(old_dentry)->i_ino);
|
||||
if (!bh)
|
||||
return -EIO;
|
||||
|
||||
|
Reference in New Issue
Block a user