Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/viro/vfs

Pull vfs pile 2 (of many) from Al Viro:
 "Mostly Miklos' series this time"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  constify dcache.c inlined helpers where possible
  fuse: drop dentry on failed revalidate
  fuse: clean up return in fuse_dentry_revalidate()
  fuse: use d_materialise_unique()
  sysfs: use check_submounts_and_drop()
  nfs: use check_submounts_and_drop()
  gfs2: use check_submounts_and_drop()
  afs: use check_submounts_and_drop()
  vfs: check unlinked ancestors before mount
  vfs: check submounts and drop atomically
  vfs: add d_walk()
  vfs: restructure d_genocide()
  • Loading branch information
Linus Torvalds committed Sep 7, 2013
2 parents c7c4591 + f0d3b3d commit dc0755c
Show file tree
Hide file tree
Showing 9 changed files with 323 additions and 258 deletions.
10 changes: 3 additions & 7 deletions fs/afs/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -685,16 +685,12 @@ static int afs_d_revalidate(struct dentry *dentry, unsigned int flags)
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);

Expand Down
Loading

0 comments on commit dc0755c

Please sign in to comment.