diff --git a/fs/inode.c b/fs/inode.c index 4a8f14745f1e542b9ce59526d2f14648488a7022..3b28b96f986b5c1110d95a2bd5643337342f493a 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -677,6 +677,10 @@ void evict_inodes(struct super_block *sb) continue; spin_lock(&inode->i_lock); + if (atomic_read(&inode->i_count)) { + spin_unlock(&inode->i_lock); + continue; + } if (inode->i_state & (I_NEW | I_FREEING | I_WILL_FREE)) { spin_unlock(&inode->i_lock); continue;