diff options
-rw-r--r-- | fs/afs/dir.c | 10 |
1 files changed, 3 insertions, 7 deletions
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: | |||
685 | spin_unlock(&dentry->d_lock); | 685 | spin_unlock(&dentry->d_lock); |
686 | 686 | ||
687 | out_bad: | 687 | out_bad: |
688 | if (dentry->d_inode) { | 688 | /* don't unhash if we have submounts */ |
689 | /* don't unhash if we have submounts */ | 689 | if (check_submounts_and_drop(dentry) != 0) |
690 | if (have_submounts(dentry)) | 690 | goto out_skip; |
691 | goto out_skip; | ||
692 | } | ||
693 | 691 | ||
694 | _debug("dropping dentry %s/%s", | 692 | _debug("dropping dentry %s/%s", |
695 | parent->d_name.name, dentry->d_name.name); | 693 | parent->d_name.name, dentry->d_name.name); |
696 | shrink_dcache_parent(dentry); | ||
697 | d_drop(dentry); | ||
698 | dput(parent); | 694 | dput(parent); |
699 | key_put(key); | 695 | key_put(key); |
700 | 696 | ||