Merge branch 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs dcache updates from Al Viro: "Part of this is what the trylock loop elimination series has turned into, part making d_move() preserve the parent (and thus the path) of victim, plus some general cleanups" * 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (22 commits) d_genocide: move export to definition fold dentry_lock_for_move() into its sole caller and clean it up make non-exchanging __d_move() copy ->d_parent rather than swap them oprofilefs: don't oops on allocation failure lustre: get rid of pointless casts to struct dentry * debugfs_lookup(): switch to lookup_one_len_unlocked() fold lookup_real() into __lookup_hash() take out orphan externs (empty_string/slash_string) split d_path() and friends into a separate file dcache.c: trim includes fs/dcache: Avoid a try_lock loop in shrink_dentry_list() get rid of trylock loop around dentry_kill() handle move to LRU in retain_dentry() dput(): consolidate the "do we need to retain it?" into an inlined helper split the slow part of lock_parent() off now lock_parent() can't run into killed dentry get rid of trylock loop in locking dentries on shrink list d_delete(): get rid of trylock loop fs/dcache: Move dentry_kill() below lock_parent() fs/dcache: Remove stale comment from dentry_kill() ...
This commit is contained in:
@@ -90,7 +90,7 @@ static int ll_dcompare(const struct dentry *dentry,
|
||||
d_count(dentry));
|
||||
|
||||
/* mountpoint is always valid */
|
||||
if (d_mountpoint((struct dentry *)dentry))
|
||||
if (d_mountpoint(dentry))
|
||||
return 0;
|
||||
|
||||
if (d_lustre_invalid(dentry))
|
||||
@@ -111,7 +111,7 @@ static int ll_ddelete(const struct dentry *de)
|
||||
LASSERT(de);
|
||||
|
||||
CDEBUG(D_DENTRY, "%s dentry %pd (%p, parent %p, inode %p) %s%s\n",
|
||||
d_lustre_invalid((struct dentry *)de) ? "deleting" : "keeping",
|
||||
d_lustre_invalid(de) ? "deleting" : "keeping",
|
||||
de, de, de->d_parent, d_inode(de),
|
||||
d_unhashed(de) ? "" : "hashed,",
|
||||
list_empty(&de->d_subdirs) ? "" : "subdirs");
|
||||
@@ -119,7 +119,7 @@ static int ll_ddelete(const struct dentry *de)
|
||||
/* kernel >= 2.6.38 last refcount is decreased after this function. */
|
||||
LASSERT(d_count(de) == 1);
|
||||
|
||||
if (d_lustre_invalid((struct dentry *)de))
|
||||
if (d_lustre_invalid(de))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user