]> git.michaelhowe.org Git - packages/o/openafs.git/commit
namei: Limit traversal when removing data dirs
authorAndrew Deason <adeason@sinenomine.net>
Thu, 2 Sep 2010 20:05:21 +0000 (15:05 -0500)
committerDerrick Brashear <shadow@dementia.org>
Tue, 8 Feb 2011 21:55:17 +0000 (13:55 -0800)
commite0753a6f560c45aa47e038bc6b718873d2fd634d
tree6f26691e3c3a2b49d9eae85da58f82d4977f8444
parentefd3fa3808499ede8c19ba3ede7bd67524538da1
namei: Limit traversal when removing data dirs

namei_RemoveDataDirectories currently calls delTree with 'tree'
pointing to the part of the path immediately following n_base (i.e.
starting at the beginning of n_voldir1). This causes delTree to
traverse all of n_voldir1, trying to delete every directory it finds.

Since we are typically only trying to remove a single volume when
calling namei_RemoveDataDirectories, instead call delTree with 'tree'
pointing to immediately after n_voldir1, and beginning at n_voldir2
and try to just rmdir n_voldir1 afterwards. This way, we do not
traverse a large fraction of the entire partition when just trying to
delete a single volume, and so can significantly speed up volume
removals.

(cherry picked from commit 1ca0a24775794ba2e645854a3bbaa656f2fc8086)
Reviewed-on: http://gerrit.openafs.org/2651
Tested-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Change-Id: Iadae1e231b533695af615a231e42ad8204674fe4
Reviewed-on: http://gerrit.openafs.org/3908
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/vol/namei_ops.c