[PATCH v2 1/2] fs: push list presence check into inode_io_list_del()

From: Mateusz Guzik

Date: Wed Oct 29 2025 - 09:14:38 EST


For consistency with sb routines.

Signed-off-by: Mateusz Guzik <mjguzik@xxxxxxxxx>
---

rebased

fs/fs-writeback.c | 3 +++
fs/inode.c | 4 +---
2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index f784d8b09b04..5dccbe5fb09d 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -1349,6 +1349,9 @@ void inode_io_list_del(struct inode *inode)
{
struct bdi_writeback *wb;

+ if (list_empty(&inode->i_io_list))
+ return;
+
wb = inode_to_wb_and_lock_list(inode);
spin_lock(&inode->i_lock);

diff --git a/fs/inode.c b/fs/inode.c
index 1396f79b2551..b5c2efebaa18 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -815,9 +815,7 @@ static void evict(struct inode *inode)
BUG_ON(!(inode_state_read_once(inode) & I_FREEING));
BUG_ON(!list_empty(&inode->i_lru));

- if (!list_empty(&inode->i_io_list))
- inode_io_list_del(inode);
-
+ inode_io_list_del(inode);
inode_sb_list_del(inode);

spin_lock(&inode->i_lock);
--
2.34.1