Commit 62a3ddef authored by Christoph Hellwig's avatar Christoph Hellwig Committed by root

vfs: fix spinning prevention in prune_icache_sb

We need to move the inode to the end of the list to actually make the
spinning prevention explained in the comment above it work.  With a
plain list_move it will simply stay in place as we're always reclaiming
from the head of the list.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 948409c7
...@@ -634,7 +634,7 @@ void prune_icache_sb(struct super_block *sb, int nr_to_scan) ...@@ -634,7 +634,7 @@ void prune_icache_sb(struct super_block *sb, int nr_to_scan)
* inode to the back of the list so we don't spin on it. * inode to the back of the list so we don't spin on it.
*/ */
if (!spin_trylock(&inode->i_lock)) { if (!spin_trylock(&inode->i_lock)) {
list_move(&inode->i_lru, &sb->s_inode_lru); list_move_tail(&inode->i_lru, &sb->s_inode_lru);
continue; continue;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment