I_DIRTY_ALL consists of I_DIRTY_TIME and I_DIRTY, so I_DIRTY_TIME must be set when any bit of I_DIRTY_ALL is set but I_DIRTY is not set. Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx> --- fs/fs-writeback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 2619f74ced70..b61bf2075931 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -1788,7 +1788,7 @@ static int writeback_single_inode(struct inode *inode, else if (!(inode->i_state & I_SYNC_QUEUED)) { if ((inode->i_state & I_DIRTY)) redirty_tail_locked(inode, wb); - else if (inode->i_state & I_DIRTY_TIME) { + else { inode->dirtied_when = jiffies; inode_io_list_move_locked(inode, wb, -- 2.30.0