aboutsummaryrefslogtreecommitdiffstats
path: root/fs/configfs/inode.c
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /fs/configfs/inode.c
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'fs/configfs/inode.c')
-rw-r--r--fs/configfs/inode.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/configfs/inode.c b/fs/configfs/inode.c
index cf78d44a8d6a..c83f4768eeaa 100644
--- a/fs/configfs/inode.c
+++ b/fs/configfs/inode.c
@@ -135,6 +135,7 @@ struct inode * configfs_new_inode(mode_t mode, struct configfs_dirent * sd)
135{ 135{
136 struct inode * inode = new_inode(configfs_sb); 136 struct inode * inode = new_inode(configfs_sb);
137 if (inode) { 137 if (inode) {
138 inode->i_ino = get_next_ino();
138 inode->i_mapping->a_ops = &configfs_aops; 139 inode->i_mapping->a_ops = &configfs_aops;
139 inode->i_mapping->backing_dev_info = &configfs_backing_dev_info; 140 inode->i_mapping->backing_dev_info = &configfs_backing_dev_info;
140 inode->i_op = &configfs_inode_operations; 141 inode->i_op = &configfs_inode_operations;
@@ -249,18 +250,14 @@ void configfs_drop_dentry(struct configfs_dirent * sd, struct dentry * parent)
249 struct dentry * dentry = sd->s_dentry; 250 struct dentry * dentry = sd->s_dentry;
250 251
251 if (dentry) { 252 if (dentry) {
252 spin_lock(&dcache_lock);
253 spin_lock(&dentry->d_lock); 253 spin_lock(&dentry->d_lock);
254 if (!(d_unhashed(dentry) && dentry->d_inode)) { 254 if (!(d_unhashed(dentry) && dentry->d_inode)) {
255 dget_locked(dentry); 255 dget_dlock(dentry);
256 __d_drop(dentry); 256 __d_drop(dentry);
257 spin_unlock(&dentry->d_lock); 257 spin_unlock(&dentry->d_lock);
258 spin_unlock(&dcache_lock);
259 simple_unlink(parent->d_inode, dentry); 258 simple_unlink(parent->d_inode, dentry);
260 } else { 259 } else
261 spin_unlock(&dentry->d_lock); 260 spin_unlock(&dentry->d_lock);
262 spin_unlock(&dcache_lock);
263 }
264 } 261 }
265} 262}
266 263