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>
Mon, 12 Jan 2009 23:20:20 +0000 (18:20 -0500)
commit48199fabf0d3c421917acff5e68b38a17a607638
tree5a09831a40d2316e2fe6a99acec2731264cf6397
parent1c4cf47f1742dc1c9b9ae6f2ce5f67edd7446642
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