fold dentry_rcuwalk_invalidate() into its only remaining caller
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 28 Jul 2016 17:05:50 +0000 (13:05 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 29 Jul 2016 21:28:58 +0000 (17:28 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c

index b90cf8e..6a629f5 100644 (file)
@@ -316,20 +316,6 @@ static void dentry_free(struct dentry *dentry)
                call_rcu(&dentry->d_u.d_rcu, __d_free);
 }
 
                call_rcu(&dentry->d_u.d_rcu, __d_free);
 }
 
-/**
- * dentry_rcuwalk_invalidate - invalidate in-progress rcu-walk lookups
- * @dentry: the target dentry
- * After this call, in-progress rcu-walk path lookup will fail. This
- * should be called after unhashing, and after changing d_inode (if
- * the dentry has not already been unhashed).
- */
-static inline void dentry_rcuwalk_invalidate(struct dentry *dentry)
-{
-       lockdep_assert_held(&dentry->d_lock);
-       /* Go through am invalidation barrier */
-       write_seqcount_invalidate(&dentry->d_seq);
-}
-
 /*
  * Release the dentry's inode, using the filesystem
  * d_iput() operation if defined.
 /*
  * Release the dentry's inode, using the filesystem
  * d_iput() operation if defined.
@@ -468,7 +454,8 @@ void __d_drop(struct dentry *dentry)
                __hlist_bl_del(&dentry->d_hash);
                dentry->d_hash.pprev = NULL;
                hlist_bl_unlock(b);
                __hlist_bl_del(&dentry->d_hash);
                dentry->d_hash.pprev = NULL;
                hlist_bl_unlock(b);
-               dentry_rcuwalk_invalidate(dentry);
+               /* After this call, in-progress rcu-walk path lookup will fail. */
+               write_seqcount_invalidate(&dentry->d_seq);
        }
 }
 EXPORT_SYMBOL(__d_drop);
        }
 }
 EXPORT_SYMBOL(__d_drop);