Unionfs: Rewrite unionfs_d_revalidate
authorErez Zadok <ezk@cs.sunysb.edu>
Tue, 20 Mar 2007 01:02:55 +0000 (21:02 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Tue, 11 Nov 2014 01:01:16 +0000 (20:01 -0500)
commit2fd8e5ddc0e75098ebccd67af9598214f7eae73d
tree9553345c163b6a4daa7af8260038120bbf49906f
parent5f9747be29f5141d48b6b32fc79999c471905a65
Unionfs: Rewrite unionfs_d_revalidate

Rewrite unionfs_d_revalidate code to avoid stack-unfriendly recursion: split
into a call to revalidate just one dentry, and an interative driver function
to revalidate an entire dentry-parent chain.

Fix vfsmount ref leaks which prevented lower f/s from being unmounted after
generation increment, esp. during heavy loads.

Fix one deadlock between revalidation code and VFS.

Better documentation of what the code does.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
[jsipek: compile & whitespace fixes]
Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
fs/unionfs/commonfops.c
fs/unionfs/dentry.c
fs/unionfs/union.h