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/notify/inode_mark.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/notify/inode_mark.c')
-rw-r--r-- | fs/notify/inode_mark.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c index 33297c005060..21ed10660b80 100644 --- a/fs/notify/inode_mark.c +++ b/fs/notify/inode_mark.c | |||
@@ -240,6 +240,7 @@ void fsnotify_unmount_inodes(struct list_head *list) | |||
240 | { | 240 | { |
241 | struct inode *inode, *next_i, *need_iput = NULL; | 241 | struct inode *inode, *next_i, *need_iput = NULL; |
242 | 242 | ||
243 | spin_lock(&inode_lock); | ||
243 | list_for_each_entry_safe(inode, next_i, list, i_sb_list) { | 244 | list_for_each_entry_safe(inode, next_i, list, i_sb_list) { |
244 | struct inode *need_iput_tmp; | 245 | struct inode *need_iput_tmp; |
245 | 246 | ||
@@ -297,4 +298,5 @@ void fsnotify_unmount_inodes(struct list_head *list) | |||
297 | 298 | ||
298 | spin_lock(&inode_lock); | 299 | spin_lock(&inode_lock); |
299 | } | 300 | } |
301 | spin_unlock(&inode_lock); | ||
300 | } | 302 | } |