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 /arch/powerpc | |
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 'arch/powerpc')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/inode.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c index 1a3429e1ccb5..1ba6307be4db 100644 --- a/arch/powerpc/platforms/cell/spufs/inode.c +++ b/arch/powerpc/platforms/cell/spufs/inode.c | |||
@@ -111,7 +111,7 @@ out: | |||
111 | static int | 111 | static int |
112 | spufs_setattr(struct dentry *dentry, struct iattr *attr) | 112 | spufs_setattr(struct dentry *dentry, struct iattr *attr) |
113 | { | 113 | { |
114 | struct inode *inode = dentry->d_inode; | 114 | struct inode *inode = d_inode(dentry); |
115 | 115 | ||
116 | if ((attr->ia_valid & ATTR_SIZE) && | 116 | if ((attr->ia_valid & ATTR_SIZE) && |
117 | (attr->ia_size != inode->i_size)) | 117 | (attr->ia_size != inode->i_size)) |
@@ -163,14 +163,14 @@ static void spufs_prune_dir(struct dentry *dir) | |||
163 | { | 163 | { |
164 | struct dentry *dentry, *tmp; | 164 | struct dentry *dentry, *tmp; |
165 | 165 | ||
166 | mutex_lock(&dir->d_inode->i_mutex); | 166 | mutex_lock(&d_inode(dir)->i_mutex); |
167 | list_for_each_entry_safe(dentry, tmp, &dir->d_subdirs, d_child) { | 167 | list_for_each_entry_safe(dentry, tmp, &dir->d_subdirs, d_child) { |
168 | spin_lock(&dentry->d_lock); | 168 | spin_lock(&dentry->d_lock); |
169 | if (!(d_unhashed(dentry)) && dentry->d_inode) { | 169 | if (!(d_unhashed(dentry)) && d_really_is_positive(dentry)) { |
170 | dget_dlock(dentry); | 170 | dget_dlock(dentry); |
171 | __d_drop(dentry); | 171 | __d_drop(dentry); |
172 | spin_unlock(&dentry->d_lock); | 172 | spin_unlock(&dentry->d_lock); |
173 | simple_unlink(dir->d_inode, dentry); | 173 | simple_unlink(d_inode(dir), dentry); |
174 | /* XXX: what was dcache_lock protecting here? Other | 174 | /* XXX: what was dcache_lock protecting here? Other |
175 | * filesystems (IB, configfs) release dcache_lock | 175 | * filesystems (IB, configfs) release dcache_lock |
176 | * before unlink */ | 176 | * before unlink */ |
@@ -180,7 +180,7 @@ static void spufs_prune_dir(struct dentry *dir) | |||
180 | } | 180 | } |
181 | } | 181 | } |
182 | shrink_dcache_parent(dir); | 182 | shrink_dcache_parent(dir); |
183 | mutex_unlock(&dir->d_inode->i_mutex); | 183 | mutex_unlock(&d_inode(dir)->i_mutex); |
184 | } | 184 | } |
185 | 185 | ||
186 | /* Caller must hold parent->i_mutex */ | 186 | /* Caller must hold parent->i_mutex */ |
@@ -192,7 +192,7 @@ static int spufs_rmdir(struct inode *parent, struct dentry *dir) | |||
192 | d_drop(dir); | 192 | d_drop(dir); |
193 | res = simple_rmdir(parent, dir); | 193 | res = simple_rmdir(parent, dir); |
194 | /* We have to give up the mm_struct */ | 194 | /* We have to give up the mm_struct */ |
195 | spu_forget(SPUFS_I(dir->d_inode)->i_ctx); | 195 | spu_forget(SPUFS_I(d_inode(dir))->i_ctx); |
196 | return res; | 196 | return res; |
197 | } | 197 | } |
198 | 198 | ||
@@ -222,8 +222,8 @@ static int spufs_dir_close(struct inode *inode, struct file *file) | |||
222 | int ret; | 222 | int ret; |
223 | 223 | ||
224 | dir = file->f_path.dentry; | 224 | dir = file->f_path.dentry; |
225 | parent = dir->d_parent->d_inode; | 225 | parent = d_inode(dir->d_parent); |
226 | ctx = SPUFS_I(dir->d_inode)->i_ctx; | 226 | ctx = SPUFS_I(d_inode(dir))->i_ctx; |
227 | 227 | ||
228 | mutex_lock_nested(&parent->i_mutex, I_MUTEX_PARENT); | 228 | mutex_lock_nested(&parent->i_mutex, I_MUTEX_PARENT); |
229 | ret = spufs_rmdir(parent, dir); | 229 | ret = spufs_rmdir(parent, dir); |
@@ -460,7 +460,7 @@ spufs_create_context(struct inode *inode, struct dentry *dentry, | |||
460 | goto out_aff_unlock; | 460 | goto out_aff_unlock; |
461 | 461 | ||
462 | if (affinity) { | 462 | if (affinity) { |
463 | spufs_set_affinity(flags, SPUFS_I(dentry->d_inode)->i_ctx, | 463 | spufs_set_affinity(flags, SPUFS_I(d_inode(dentry))->i_ctx, |
464 | neighbor); | 464 | neighbor); |
465 | if (neighbor) | 465 | if (neighbor) |
466 | put_spu_context(neighbor); | 466 | put_spu_context(neighbor); |
@@ -504,7 +504,7 @@ spufs_mkgang(struct inode *dir, struct dentry *dentry, umode_t mode) | |||
504 | 504 | ||
505 | d_instantiate(dentry, inode); | 505 | d_instantiate(dentry, inode); |
506 | inc_nlink(dir); | 506 | inc_nlink(dir); |
507 | inc_nlink(dentry->d_inode); | 507 | inc_nlink(d_inode(dentry)); |
508 | return ret; | 508 | return ret; |
509 | 509 | ||
510 | out_iput: | 510 | out_iput: |
@@ -561,7 +561,7 @@ static struct file_system_type spufs_type; | |||
561 | long spufs_create(struct path *path, struct dentry *dentry, | 561 | long spufs_create(struct path *path, struct dentry *dentry, |
562 | unsigned int flags, umode_t mode, struct file *filp) | 562 | unsigned int flags, umode_t mode, struct file *filp) |
563 | { | 563 | { |
564 | struct inode *dir = path->dentry->d_inode; | 564 | struct inode *dir = d_inode(path->dentry); |
565 | int ret; | 565 | int ret; |
566 | 566 | ||
567 | /* check if we are on spufs */ | 567 | /* check if we are on spufs */ |