Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

vfs: Remove unnecessary list_for_each_entry_safe() from evict_inodes()

evict_inodes() uses list_for_each_entry_safe() to iterate sb->s_inodes
list. However, since we use i_lru list entry for our local temporary
list of inodes to destroy, the inode is guaranteed to stay in
sb->s_inodes list while we hold sb->s_inode_list_lock. So there is no
real need for safe iteration variant and we can use
list_for_each_entry() just fine.

Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/20250709090635.26319-2-jack@suse.cz
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>

authored by

Jan Kara and committed by
Christian Brauner
3bc4e441 25050181

+2 -2
+2 -2
fs/inode.c
··· 865 865 */ 866 866 void evict_inodes(struct super_block *sb) 867 867 { 868 - struct inode *inode, *next; 868 + struct inode *inode; 869 869 LIST_HEAD(dispose); 870 870 871 871 again: 872 872 spin_lock(&sb->s_inode_list_lock); 873 - list_for_each_entry_safe(inode, next, &sb->s_inodes, i_sb_list) { 873 + list_for_each_entry(inode, &sb->s_inodes, i_sb_list) { 874 874 if (atomic_read(&inode->i_count)) 875 875 continue; 876 876