kernel-hacking-2024-linux-s.../fs/ext4
Theodore Ts'o 8fdd60f2ae Revert "ext4: use ext4_write_inode() when fsyncing w/o a journal"
This reverts commit ad211f3e94.

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
ad211f3e94 is absolutely the wrong way to suppress the lockdep, so
revert it.

Fixes: ad211f3e94 ("ext4: use ext4_write_inode() when fsyncing w/o a journal")
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reported: Jan Kara <jack@suse.cz>
2019-01-31 23:41:11 -05:00
..
acl.c ext4: compare old and new mode before setting update_mode flag 2018-12-10 00:22:38 -05:00
acl.h
balloc.c ext4: use ext4_warning() for sb_getblk failure 2018-08-01 12:02:31 -04:00
bitmap.c
block_validity.c
dir.c ext4: avoid divide by zero fault when deleting corrupted inline directories 2018-08-27 09:22:45 -04:00
ext4.h ext4: avoid declaring fs inconsistent due to invalid file handles 2018-12-19 12:29:13 -05:00
ext4_extents.h ext4: adjust reserved cluster count when removing extents 2018-10-01 14:25:08 -04:00
ext4_jbd2.c
ext4_jbd2.h
extents.c ext4: adjust reserved cluster count when removing extents 2018-10-01 14:25:08 -04:00
extents_status.c ext4: fix reserved cluster accounting at page invalidation time 2018-10-01 14:33:24 -04:00
extents_status.h ext4: reduce reserved cluster count by number of allocated clusters 2018-10-01 14:24:08 -04:00
file.c dax: remove VM_MIXEDMAP for fsdax and device dax 2018-08-17 16:20:27 -07:00
fsmap.c
fsmap.h
fsync.c Revert "ext4: use ext4_write_inode() when fsyncing w/o a journal" 2019-01-31 23:41:11 -05:00
hash.c
ialloc.c ext4: avoid declaring fs inconsistent due to invalid file handles 2018-12-19 12:29:13 -05:00
indirect.c
inline.c ext4: fix a potential fiemap/page fault deadlock w/ inline_data 2018-12-25 00:56:33 -05:00
inode.c ext4: fix special inode number checks in __ext4_iget() 2018-12-31 22:34:31 -05:00
ioctl.c ext4: avoid declaring fs inconsistent due to invalid file handles 2018-12-19 12:29:13 -05:00
Kconfig
Makefile
mballoc.c ext4: adjust reserved cluster count when removing extents 2018-10-01 14:25:08 -04:00
mballoc.h
migrate.c ext4: clean up indentation issues, remove extraneous tabs 2018-12-04 00:16:44 -05:00
mmp.c ext4: don't mark mmp buffer head dirty 2018-09-15 17:11:25 -04:00
move_extent.c ext4: fix argument checking in EXT4_IOC_MOVE_EXT 2018-10-02 01:34:44 -04:00
namei.c ext4: avoid declaring fs inconsistent due to invalid file handles 2018-12-19 12:29:13 -05:00
page-io.c blkcg: associate writeback bios with a blkg 2018-12-07 22:26:37 -07:00
readpage.c fs: don't open code lru_to_page() 2019-01-04 13:13:48 -08:00
resize.c ext4: avoid declaring fs inconsistent due to invalid file handles 2018-12-19 12:29:13 -05:00
super.c ext4: avoid kernel warning when writing the superblock to a dead device 2018-12-30 23:20:39 -05:00
symlink.c
sysfs.c for-4.19/block-20180812 2018-08-14 10:23:25 -07:00
truncate.h ext4: handle layout changes to pinned DAX mappings 2018-07-29 17:00:22 -04:00
xattr.c ext4: avoid declaring fs inconsistent due to invalid file handles 2018-12-19 12:29:13 -05:00
xattr.h
xattr_security.c
xattr_trusted.c
xattr_user.c