diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-10-25 20:49:35 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-10-25 21:27:18 -0400 |
commit | 63997e98a3be68d7cec806d22bf9b02b2e1daabb (patch) | |
tree | acd366273dc459d6b34e7f67216c06eb56117a4a /fs/super.c | |
parent | 9843b76aae80293f5b5a0e275360627508595ce5 (diff) |
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>
Diffstat (limited to 'fs/super.c')
-rw-r--r-- | fs/super.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/super.c b/fs/super.c index 8819e3a7ff20..b9c9869165db 100644 --- a/fs/super.c +++ b/fs/super.c | |||
@@ -273,14 +273,14 @@ void generic_shutdown_super(struct super_block *sb) | |||
273 | get_fs_excl(); | 273 | get_fs_excl(); |
274 | sb->s_flags &= ~MS_ACTIVE; | 274 | sb->s_flags &= ~MS_ACTIVE; |
275 | 275 | ||
276 | /* bad name - it should be evict_inodes() */ | 276 | fsnotify_unmount_inodes(&sb->s_inodes); |
277 | invalidate_inodes(sb); | 277 | |
278 | evict_inodes(sb); | ||
278 | 279 | ||
279 | if (sop->put_super) | 280 | if (sop->put_super) |
280 | sop->put_super(sb); | 281 | sop->put_super(sb); |
281 | 282 | ||
282 | /* Forget any remaining inodes */ | 283 | if (!list_empty(&sb->s_inodes)) { |
283 | if (invalidate_inodes(sb)) { | ||
284 | printk("VFS: Busy inodes after unmount of %s. " | 284 | printk("VFS: Busy inodes after unmount of %s. " |
285 | "Self-destruct in 5 seconds. Have a nice day...\n", | 285 | "Self-destruct in 5 seconds. Have a nice day...\n", |
286 | sb->s_id); | 286 | sb->s_id); |