Skip to content
  • Theodore Ts'o's avatar
    Revert "ext4: use ext4_write_inode() when fsyncing w/o a journal" · 8fdd60f2
    Theodore Ts'o authored
    This reverts commit ad211f3e.
    
    As Jan Kara pointed out, this change was unsafe since it means we lose
    the call to sync_mapping_buffers() in the nojournal case.  The
    original point of the commit was avoid taking the inode mutex (since
    it causes a lockdep warning in generic/113); but we need the mutex in
    order to call sync_mapping_buffers().
    
    The real fix to this problem was discussed here:
    
    https://lore.kernel.org/lkml/20181025150540.259281-4-bvanassche@acm.org
    
    The proposed patch was to fix a syzbot complaint, but the problem can
    also demonstrated via "kvm-xfstests -c nojournal generic/113".
    Multiple solutions were discused in the e-mail thread, but none have
    landed in the kernel as of this writing.  Anyway, commit
    ad211f3e is absolutely the wrong way to suppress the lockdep, so
    revert it.
    
    Fixes: ad211f3e
    
     ("ext4: use ext4_write_inode() when fsyncing w/o a journal")
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    Reported: Jan Kara <jack@suse.cz>
    8fdd60f2