mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-04-01 12:04:08 +00:00
fold __d_shrink() into its only remaining caller
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
eee5cc2702
commit
b61625d245
1 changed files with 10 additions and 22 deletions
32
fs/dcache.c
32
fs/dcache.c
|
@ -483,27 +483,6 @@ static struct dentry *d_kill(struct dentry *dentry, struct dentry *parent)
|
||||||
return parent;
|
return parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Unhash a dentry without inserting an RCU walk barrier or checking that
|
|
||||||
* dentry->d_lock is locked. The caller must take care of that, if
|
|
||||||
* appropriate.
|
|
||||||
*/
|
|
||||||
static void __d_shrink(struct dentry *dentry)
|
|
||||||
{
|
|
||||||
if (!d_unhashed(dentry)) {
|
|
||||||
struct hlist_bl_head *b;
|
|
||||||
if (unlikely(dentry->d_flags & DCACHE_DISCONNECTED))
|
|
||||||
b = &dentry->d_sb->s_anon;
|
|
||||||
else
|
|
||||||
b = d_hash(dentry->d_parent, dentry->d_name.hash);
|
|
||||||
|
|
||||||
hlist_bl_lock(b);
|
|
||||||
__hlist_bl_del(&dentry->d_hash);
|
|
||||||
dentry->d_hash.pprev = NULL;
|
|
||||||
hlist_bl_unlock(b);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* d_drop - drop a dentry
|
* d_drop - drop a dentry
|
||||||
* @dentry: dentry to drop
|
* @dentry: dentry to drop
|
||||||
|
@ -522,7 +501,16 @@ static void __d_shrink(struct dentry *dentry)
|
||||||
void __d_drop(struct dentry *dentry)
|
void __d_drop(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
if (!d_unhashed(dentry)) {
|
if (!d_unhashed(dentry)) {
|
||||||
__d_shrink(dentry);
|
struct hlist_bl_head *b;
|
||||||
|
if (unlikely(dentry->d_flags & DCACHE_DISCONNECTED))
|
||||||
|
b = &dentry->d_sb->s_anon;
|
||||||
|
else
|
||||||
|
b = d_hash(dentry->d_parent, dentry->d_name.hash);
|
||||||
|
|
||||||
|
hlist_bl_lock(b);
|
||||||
|
__hlist_bl_del(&dentry->d_hash);
|
||||||
|
dentry->d_hash.pprev = NULL;
|
||||||
|
hlist_bl_unlock(b);
|
||||||
dentry_rcuwalk_barrier(dentry);
|
dentry_rcuwalk_barrier(dentry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue