X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=fs%2Fafs%2Fdir.c;fp=fs%2Fafs%2Fdir.c;h=0b74d3176ab7c9293c0583e1b2cff730e7f4df0d;hb=ba81238076d368b9bb78a7fbf6c621b49d4d602f;hp=34494fbead0ab892733afb344e002ab1c9a08994;hpb=eed810076685c77dc9a8c5c3593e641c93caed1c;p=karo-tx-linux.git diff --git a/fs/afs/dir.c b/fs/afs/dir.c index 34494fbead0a..0b74d3176ab7 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c @@ -685,16 +685,12 @@ not_found: spin_unlock(&dentry->d_lock); out_bad: - if (dentry->d_inode) { - /* don't unhash if we have submounts */ - if (have_submounts(dentry)) - goto out_skip; - } + /* don't unhash if we have submounts */ + if (check_submounts_and_drop(dentry) != 0) + goto out_skip; _debug("dropping dentry %s/%s", parent->d_name.name, dentry->d_name.name); - shrink_dcache_parent(dentry); - d_drop(dentry); dput(parent); key_put(key);