• Xin Yin's avatar
    ext4: fast commit may miss file actions · bdc8a53a
    Xin Yin authored
    
    
    in the follow scenario:
    1. jbd start transaction n
    2. task A get new handle for transaction n+1
    3. task A do some actions and add inode to FC_Q_MAIN fc_q
    4. jbd complete transaction n and clear FC_Q_MAIN fc_q
    5. task A call fsync
    
    Fast commit will lost the file actions during a full commit.
    
    we should also add updates to staging queue during a full commit.
    and in ext4_fc_cleanup(), when reset a inode's fc track range, check
    it's i_sync_tid, if it bigger than current transaction tid, do not
    rest it, or we will lost the track range.
    
    And EXT4_MF_FC_COMMITTING is not needed anymore, so drop it.
    Signed-off-by: default avatarXin Yin <yinxin.x@bytedance.com>
    Link: https://lore.kernel.org/r/20220117093655.35160-3-yinxin.x@bytedance.com
    
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    Cc: stable@kernel.org
    bdc8a53a
ext4.h 134 KB