From: Al Viro Date: Sun, 16 Jan 2011 01:08:44 +0000 (-0500) Subject: fix old umount_tree() breakage X-Git-Tag: v2.6.38-rc1~35^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b8a53fd815deb39542085897743fa0063f9fe06;p=pandora-kernel.git fix old umount_tree() breakage Expiry-related code calls umount_tree() several times with the same list to collect vfsmounts to. Which is fine, except that umount_tree() implicitly assumed that the list would be empty on each call - it moves the victims over there and then iterates through the list kicking them out. It's *almost* idempotent, so everything nearly worked. However, mnt->ghosts handling (and thus expirability checks) had been broken - that part was not idempotent... The fix is trivial - use local temporary list, splice it to the the collector list when we are through. Signed-off-by: Al Viro --- Reading git-diff-tree failed