diff options
Diffstat (limited to 'fs/notify/inotify/inotify.c')
-rw-r--r-- | fs/notify/inotify/inotify.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/notify/inotify/inotify.c b/fs/notify/inotify/inotify.c index 27b75ebc7460..cf6b0429a257 100644 --- a/fs/notify/inotify/inotify.c +++ b/fs/notify/inotify/inotify.c | |||
@@ -377,11 +377,11 @@ void inotify_unmount_inodes(struct list_head *list) | |||
377 | struct list_head *watches; | 377 | struct list_head *watches; |
378 | 378 | ||
379 | /* | 379 | /* |
380 | * We cannot __iget() an inode in state I_CLEAR, I_FREEING, | 380 | * We cannot __iget() an inode in state I_FREEING, |
381 | * I_WILL_FREE, or I_NEW which is fine because by that point | 381 | * I_WILL_FREE, or I_NEW which is fine because by that point |
382 | * the inode cannot have any associated watches. | 382 | * the inode cannot have any associated watches. |
383 | */ | 383 | */ |
384 | if (inode->i_state & (I_CLEAR|I_FREEING|I_WILL_FREE|I_NEW)) | 384 | if (inode->i_state & (I_FREEING|I_WILL_FREE|I_NEW)) |
385 | continue; | 385 | continue; |
386 | 386 | ||
387 | /* | 387 | /* |
@@ -403,8 +403,7 @@ void inotify_unmount_inodes(struct list_head *list) | |||
403 | /* In case the dropping of a reference would nuke next_i. */ | 403 | /* In case the dropping of a reference would nuke next_i. */ |
404 | if ((&next_i->i_sb_list != list) && | 404 | if ((&next_i->i_sb_list != list) && |
405 | atomic_read(&next_i->i_count) && | 405 | atomic_read(&next_i->i_count) && |
406 | !(next_i->i_state & (I_CLEAR | I_FREEING | | 406 | !(next_i->i_state & (I_FREEING|I_WILL_FREE))) { |
407 | I_WILL_FREE))) { | ||
408 | __iget(next_i); | 407 | __iget(next_i); |
409 | need_iput = next_i; | 408 | need_iput = next_i; |
410 | } | 409 | } |