summaryrefslogtreecommitdiffstats
path: root/fs/internal.h
diff options
context:
space:
mode:
authorAl Viro2011-01-16 02:08:44 +0100
committerAl Viro2011-01-16 19:47:01 +0100
commit7b8a53fd815deb39542085897743fa0063f9fe06 (patch)
tree1fe7d7f6192b3300a12d2e6af80b9601f23f94f8 /fs/internal.h
parentautofs4: Merge the remaining dentry ops tables (diff)
downloadkernel-qcow2-linux-7b8a53fd815deb39542085897743fa0063f9fe06.tar.gz
kernel-qcow2-linux-7b8a53fd815deb39542085897743fa0063f9fe06.tar.xz
kernel-qcow2-linux-7b8a53fd815deb39542085897743fa0063f9fe06.zip
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 <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/internal.h')
0 files changed, 0 insertions, 0 deletions