Unionfs: reduce number of whiteouts by deleting all instances of files
authorErez Zadok <ezk@cs.sunysb.edu>
Sun, 23 Mar 2008 02:49:29 +0000 (22:49 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Sun, 24 Nov 2013 05:51:48 +0000 (00:51 -0500)
commite845125f79efc65d7e70703dfb31aa22a85e43e4
tree3a5bfe27a87004c0dac472a7006b72f329b9ac2d
parentecce3f75dc00f75b56ac4ee7d4b0307de280ce7f
Unionfs: reduce number of whiteouts by deleting all instances of files

Optimize the unlinking of non-dir objects in unionfs by deleting all
possible lower inode objects from all writable lower branches.  This may
consume a bit more processing, but on average reduces overall inode
consumption and further saves a lot by reducing the total number of
whiteouts needed.  We create a whiteout now only if we could not delete all
lower objects, or if one of the lower branches was explicitly marked
read-only.

Signed-off-by: Himanshu Kanda <hkanda@cs.sunysb.edu>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Documentation/filesystems/unionfs/concepts.txt
fs/unionfs/lookup.c
fs/unionfs/unlink.c