diff --git a/fs/inode.c b/fs/inode.c index ae9d7b84caf3129f917746cde8731f70445f9990..399d79043a397082f268bfceff263b8e1e4298d5 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -616,6 +616,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;