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:
+3
-3
@@ -16,7 +16,7 @@
|
||||
int hfs_setxattr(struct dentry *dentry, const char *name,
|
||||
const void *value, size_t size, int flags)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
struct hfs_find_data fd;
|
||||
hfs_cat_rec rec;
|
||||
struct hfs_cat_file *file;
|
||||
@@ -59,7 +59,7 @@ out:
|
||||
ssize_t hfs_getxattr(struct dentry *dentry, const char *name,
|
||||
void *value, size_t size)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
struct hfs_find_data fd;
|
||||
hfs_cat_rec rec;
|
||||
struct hfs_cat_file *file;
|
||||
@@ -105,7 +105,7 @@ out:
|
||||
|
||||
ssize_t hfs_listxattr(struct dentry *dentry, char *buffer, size_t size)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
|
||||
if (!S_ISREG(inode->i_mode) || HFS_IS_RSRC(inode))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
+4
-4
@@ -253,7 +253,7 @@ static int hfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
||||
*/
|
||||
static int hfs_remove(struct inode *dir, struct dentry *dentry)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
int res;
|
||||
|
||||
if (S_ISDIR(inode->i_mode) && inode->i_size != 2)
|
||||
@@ -285,18 +285,18 @@ static int hfs_rename(struct inode *old_dir, struct dentry *old_dentry,
|
||||
int res;
|
||||
|
||||
/* Unlink destination if it already exists */
|
||||
if (new_dentry->d_inode) {
|
||||
if (d_really_is_positive(new_dentry)) {
|
||||
res = hfs_remove(new_dir, new_dentry);
|
||||
if (res)
|
||||
return res;
|
||||
}
|
||||
|
||||
res = hfs_cat_move(old_dentry->d_inode->i_ino,
|
||||
res = hfs_cat_move(d_inode(old_dentry)->i_ino,
|
||||
old_dir, &old_dentry->d_name,
|
||||
new_dir, &new_dentry->d_name);
|
||||
if (!res)
|
||||
hfs_cat_build_key(old_dir->i_sb,
|
||||
(btree_key *)&HFS_I(old_dentry->d_inode)->cat_key,
|
||||
(btree_key *)&HFS_I(d_inode(old_dentry))->cat_key,
|
||||
new_dir->i_ino, &new_dentry->d_name);
|
||||
return res;
|
||||
}
|
||||
|
||||
+1
-1
@@ -600,7 +600,7 @@ static int hfs_file_release(struct inode *inode, struct file *file)
|
||||
|
||||
int hfs_inode_setattr(struct dentry *dentry, struct iattr * attr)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
struct hfs_sb_info *hsb = HFS_SB(inode->i_sb);
|
||||
int error;
|
||||
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ static int hfs_revalidate_dentry(struct dentry *dentry, unsigned int flags)
|
||||
if (flags & LOOKUP_RCU)
|
||||
return -ECHILD;
|
||||
|
||||
inode = dentry->d_inode;
|
||||
inode = d_inode(dentry);
|
||||
if(!inode)
|
||||
return 1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user