kernel_samsung_a53x/fs/ext4
Arjan van de Ven 54bab59901 fs: ext4: fsync: optimize double-fsync() a bunch
There are cases where EXT4 is a bit too conservative sending barriers down to
the disk; there are cases where the transaction in progress is not the one
that sent the barrier (in other words: the fsync is for a file for which the
IO happened more time ago and all data was already sent to the disk).

For that case, a more performing tradeoff can be made on SSD devices (which
have the ability to flush their dram caches in a hurry on a power fail event)
where the barrier gets sent to the disk, but we don't need to wait for the
barrier to complete. Any consecutive IO will block on the barrier correctly.

Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
(cherry picked from commit 74aa09a7751e438bd15b5cd73f611021b7239240)
(cherry picked from commit fa3bdf1a32cac074ff52403cb9ce18eb18c7f7d1)
2025-01-16 22:01:03 +01:00
..
acl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
acl.h ext4: apply umask if ACL support is disabled 2024-11-18 11:43:31 +01:00
balloc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bitmap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
block_validity.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dir.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ext4.h ext4: Add no_sehash_xattr mount option 2024-11-17 17:43:35 +01:00
ext4_extents.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ext4_jbd2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ext4_jbd2.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
extents.c Revert "ext4: avoid use-after-free in ext4_ext_show_leaf()" 2024-11-24 00:23:05 +01:00
extents_status.c ext4: fix infinite loop when replaying fast_commit 2024-11-23 23:20:09 +01:00
extents_status.h ext4: make ext4_es_insert_extent() return void 2024-11-18 23:19:51 +01:00
fast_commit.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fast_commit.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
file.c Revert "ext4: properly sync file size update after O_SYNC direct IO" 2024-11-24 00:23:01 +01:00
fsmap.c ext4: fix FS_IOC_GETFSMAP handling 2024-12-17 13:24:17 +01:00
fsmap.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fsync.c fs: ext4: fsync: optimize double-fsync() a bunch 2025-01-16 22:01:03 +01:00
hash.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ialloc.c Revert "ext4: avoid buffer_head leak in ext4_mark_inode_used()" 2024-11-24 00:23:23 +01:00
indirect.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
inline.c Revert "ext4: return error on ext4_find_inline_entry" 2024-11-24 00:23:22 +01:00
inode-test.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
inode.c Revert "ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit()" 2024-11-24 00:23:03 +01:00
ioctl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mballoc.c ext4: fix FS_IOC_GETFSMAP handling 2024-12-17 13:24:17 +01:00
mballoc.h ext4: fix FS_IOC_GETFSMAP handling 2024-12-17 13:24:17 +01:00
migrate.c Revert "ext4: fix i_data_sem unlock order in ext4_ind_migrate()" 2024-11-24 00:23:05 +01:00
mmp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
move_extent.c Revert "ext4: update orig_path in ext4_find_extent()" 2024-11-24 00:23:03 +01:00
namei.c Revert "ext4: no need to continue when the number of entries is 1" 2024-11-24 00:23:04 +01:00
page-io.c Revert "ext4: handle redirtying in ext4_bio_write_page()" 2024-11-24 00:23:46 +01:00
readpage.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
resize.c ext4: fix corruption during on-line resize 2024-11-19 09:22:34 +01:00
super.c ext4: supress data-race warnings in ext4_free_inodes_{count,set}() 2024-12-17 13:24:17 +01:00
symlink.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
truncate.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
verity.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xattr.c Revert "ext4: nested locking for xattr inode" 2024-11-24 00:22:59 +01:00
xattr.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xattr_hurd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xattr_security.c ext4: Add no_sehash_xattr mount option 2024-11-17 17:43:35 +01:00
xattr_trusted.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xattr_user.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00