split invalidate_inodes()
Pull removal of fsnotify marks into generic_shutdown_super(). Split umount-time work into a new function - evict_inodes(). Make sure that invalidate_inodes() will be able to cope with I_FREEING once we change locking in iput(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@ -273,14 +273,14 @@ void generic_shutdown_super(struct super_block *sb)
|
||||
get_fs_excl();
|
||||
sb->s_flags &= ~MS_ACTIVE;
|
||||
|
||||
/* bad name - it should be evict_inodes() */
|
||||
invalidate_inodes(sb);
|
||||
fsnotify_unmount_inodes(&sb->s_inodes);
|
||||
|
||||
evict_inodes(sb);
|
||||
|
||||
if (sop->put_super)
|
||||
sop->put_super(sb);
|
||||
|
||||
/* Forget any remaining inodes */
|
||||
if (invalidate_inodes(sb)) {
|
||||
if (!list_empty(&sb->s_inodes)) {
|
||||
printk("VFS: Busy inodes after unmount of %s. "
|
||||
"Self-destruct in 5 seconds. Have a nice day...\n",
|
||||
sb->s_id);
|
||||
|
Reference in New Issue
Block a user