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 | |
parent | 9843b76aae80293f5b5a0e275360627508595ce5 (diff) | |
download | lwn-63997e98a3be68d7cec806d22bf9b02b2e1daabb.tar.gz lwn-63997e98a3be68d7cec806d22bf9b02b2e1daabb.zip |
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')
-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) { struct inode *inode, *next_i, *need_iput = NULL; + spin_lock(&inode_lock); list_for_each_entry_safe(inode, next_i, list, i_sb_list) { struct inode *need_iput_tmp; @@ -297,4 +298,5 @@ void fsnotify_unmount_inodes(struct list_head *list) spin_lock(&inode_lock); } + spin_unlock(&inode_lock); } |