diff options
Diffstat (limited to 'fs/notify')
-rw-r--r-- | fs/notify/inode_mark.c | 6 | ||||
-rw-r--r-- | fs/notify/inotify/inotify.c | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c index 0399bcbe09c8..152b83ec005d 100644 --- a/fs/notify/inode_mark.c +++ b/fs/notify/inode_mark.c | |||
@@ -369,11 +369,11 @@ void fsnotify_unmount_inodes(struct list_head *list) | |||
369 | struct inode *need_iput_tmp; | 369 | struct inode *need_iput_tmp; |
370 | 370 | ||
371 | /* | 371 | /* |
372 | * We cannot __iget() an inode in state I_CLEAR, I_FREEING, | 372 | * We cannot __iget() an inode in state I_FREEING, |
373 | * I_WILL_FREE, or I_NEW which is fine because by that point | 373 | * I_WILL_FREE, or I_NEW which is fine because by that point |
374 | * the inode cannot have any associated watches. | 374 | * the inode cannot have any associated watches. |
375 | */ | 375 | */ |
376 | if (inode->i_state & (I_CLEAR|I_FREEING|I_WILL_FREE|I_NEW)) | 376 | if (inode->i_state & (I_FREEING|I_WILL_FREE|I_NEW)) |
377 | continue; | 377 | continue; |
378 | 378 | ||
379 | /* | 379 | /* |
@@ -397,7 +397,7 @@ void fsnotify_unmount_inodes(struct list_head *list) | |||
397 | /* In case the dropping of a reference would nuke next_i. */ | 397 | /* In case the dropping of a reference would nuke next_i. */ |
398 | if ((&next_i->i_sb_list != list) && | 398 | if ((&next_i->i_sb_list != list) && |
399 | atomic_read(&next_i->i_count) && | 399 | atomic_read(&next_i->i_count) && |
400 | !(next_i->i_state & (I_CLEAR | I_FREEING | I_WILL_FREE))) { | 400 | !(next_i->i_state & (I_FREEING | I_WILL_FREE))) { |
401 | __iget(next_i); | 401 | __iget(next_i); |
402 | need_iput = next_i; | 402 | need_iput = next_i; |
403 | } | 403 | } |
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 | } |