aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-04-26 18:48:49 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-26 20:22:07 -0400
commit9ec3a646fe09970f801ab15e0f1694060b9f19af (patch)
tree697058ca7e1671eda180a3ccc62445686fbc1a31 /arch/powerpc
parentc8b3fd0ce313443731e8fd6d5a541085eb465f99 (diff)
parent3cab989afd8d8d1bc3d99fef0e7ed87c31e7b647 (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.c22
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:
111static int 111static int
112spufs_setattr(struct dentry *dentry, struct iattr *attr) 112spufs_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
510out_iput: 510out_iput:
@@ -561,7 +561,7 @@ static struct file_system_type spufs_type;
561long spufs_create(struct path *path, struct dentry *dentry, 561long 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 */