kernel_samsung_a53x/fs
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
..
9p
adfs
affs
afs
autofs Revert "file: Replace ksys_close with close_fd" 2024-11-19 12:59:08 +01:00
befs
bfs
btrfs btrfs: don't set lock_owner when locking extent buffer for reading 2025-01-15 16:29:56 +01:00
cachefiles Revert "namei: introduce struct renamedata" 2024-11-19 13:45:08 +01:00
ceph ceph: validate snapdirname option length when mounting 2025-01-15 16:29:47 +01:00
cifs cifs: Fix buffer overflow when parsing NFS reparse points 2024-12-17 13:23:58 +01:00
coda
configfs
cramfs
crypto
debugfs
devpts Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
dlm
ecryptfs Revert "namei: introduce struct renamedata" 2024-11-19 13:45:08 +01:00
efivarfs efivarfs: Fix error on non-existent file 2025-01-15 16:29:41 +01:00
efs
erofs erofs: fix incorrect symlink detection in fast symlink 2025-01-15 16:29:40 +01:00
exfat exfat: fix potential deadlock on __exfat_get_dentry_set 2025-01-02 17:00:49 +01:00
exportfs exportfs: use pr_debug for unreachable debug statements 2024-11-19 12:28:26 +01:00
ext2 ext2: Verify bitmap and itable block numbers before using them 2024-11-23 23:20:12 +01:00
ext4 fs: ext4: fsync: optimize double-fsync() a bunch 2025-01-16 22:01:03 +01:00
f2fs f2fs: fix f2fs_bug_on when uninstalling filesystem call f2fs_evict_inode. 2024-12-17 13:24:32 +01:00
fat Revert "fat: fix uninitialized variable" 2024-11-24 00:22:53 +01:00
freevxfs
fscache
fuse Revert "virtiofs: forbid newlines in tags" 2024-11-24 00:23:52 +01:00
gfs2 gfs2: setattr_chown: Add missing initialization 2024-11-23 23:20:45 +01:00
hfs hfs: fix to initialize fields of hfs_inode_info after hfs_alloc_inode() 2024-11-23 23:20:12 +01:00
hfsplus hfsplus: don't query the device logical block size multiple times 2024-12-17 13:23:59 +01:00
hostfs
hpfs
hugetlbfs
incfs
iomap iomap: update ki_pos a little later in iomap_dio_complete 2024-11-23 23:22:00 +01:00
isofs
jbd2 Revert "ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space()" 2024-11-24 00:23:04 +01:00
jffs2 jffs2: Fix rtime decompressor 2024-12-17 13:24:34 +01:00
jfs jfs: add a check to prevent array-index-out-of-bounds in dbAdjTree 2024-12-17 13:24:31 +01:00
kernfs
lockd Revert "nfsd: stop setting ->pg_stats for unused stats" 2024-11-24 00:23:44 +01:00
minix
nfs NFS/pnfs: Fix a live lock between recalled layouts and layoutget 2025-01-15 16:29:46 +01:00
nfs_common NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs 2024-11-19 12:27:35 +01:00
nfsd nfsd: cancel nfsd_shrinker_work using sync mode in nfs4_state_shutdown_net 2025-01-15 16:29:52 +01:00
nilfs2 nilfs2: fix potential out-of-bounds memory access in nilfs_find_entry() 2024-12-17 13:24:28 +01:00
nls
notify fsnotify: fix sending inotify event with unexpected filename 2024-12-17 13:24:18 +01:00
ntfs
ocfs2 ocfs2: update seq_file index in ocfs2_dlm_seq_next 2024-12-17 13:24:29 +01:00
omfs
openpromfs
orangefs orangefs: fix out-of-bounds fsid access 2024-11-19 14:19:41 +01:00
overlayfs Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
proc Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
pstore
qnx4
qnx6
quota quota: flush quota_release_work upon quota writeback 2024-12-17 13:24:23 +01:00
ramfs
reiserfs
romfs
sdfat fs: blkdev.c: Fix a typo 2024-12-18 18:20:04 +01:00
squashfs Revert "Squashfs: sanity check symbolic link size" 2024-11-24 00:23:38 +01:00
sysfs
sysv
tracefs
ubifs ubifs: authentication: Fix use-after-free in ubifs_tnc_end_commit 2024-12-17 13:24:21 +01:00
udf Revert "udf: Limit file size to 4TB" 2024-11-24 00:23:46 +01:00
ufs
unicode Revert "unicode: Don't special case ignorable code points" 2024-11-24 00:23:00 +01:00
vboxsf
verity Revert "fs: add file and path permissions helpers" 2024-11-19 13:30:21 +01:00
xfs xfs: fix scrub tracepoints when inode-rooted btrees are involved 2025-01-02 17:00:49 +01:00
zonefs
aio.c
anon_inodes.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf.c binfmt_misc: pass binfmt_misc flags to the interpreter 2024-11-23 23:20:49 +01:00
binfmt_elf_fdpic.c binfmt_misc: pass binfmt_misc flags to the interpreter 2024-11-23 23:20:49 +01:00
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c binfmt_misc: pass binfmt_misc flags to the interpreter 2024-11-23 23:20:49 +01:00
binfmt_script.c
block_dev.c
buffer.c
char_dev.c
compat_binfmt_elf.c
coredump.c exec: Simplify unshare_files 2024-11-19 12:27:27 +01:00
d_path.c
dax.c
dcache.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
dcookies.c
direct-io.c
dlog_hook.c
drop_caches.c
eventfd.c
eventpoll.c Revert "epoll: Add synchronous wakeup support for ep_poll_callback" 2025-01-15 16:38:29 +01:00
exec.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
fcntl.c Revert "fs: Fix file_set_fowner LSM hook inconsistencies" 2024-11-24 00:23:15 +01:00
fhandle.c
file.c fix bitmap corruption on close_range() with CLOSE_RANGE_UNSHARE 2024-11-23 23:20:42 +01:00
file_table.c
filesystems.c
fs-writeback.c
fs_context.c
fs_parser.c
fs_pin.c
fs_struct.c
fs_types.c
fsopen.c
init.c Revert "fs: add file and path permissions helpers" 2024-11-19 13:30:21 +01:00
inode.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
internal.h
ioctl.c
Kconfig NFSD: Remove CONFIG_NFSD_V3 2024-11-19 12:27:54 +01:00
Kconfig.binfmt
kernel_read_file.c
libfs.c
locks.c filelock: Fix fcntl/close race recovery compat path 2024-11-19 14:19:53 +01:00
Makefile Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
mbcache.c mbcache: Speed up cache entry creation 2024-11-19 17:58:19 +01:00
mount.h
mpage.c
namei.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
namespace.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
no-block.c
nsfs.c
open.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
pipe.c
pnode.c
pnode.h
posix_acl.c
proc_namespace.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
read_write.c
readdir.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
remap_range.c
select.c
seq_file.c
signalfd.c
splice.c splice: don't generate zero-len segement bvecs 2024-11-19 17:42:24 +01:00
stack.c
stat.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
statfs.c Revert "treewide: patch for susfs 1.5.3" 2025-01-06 22:38:18 +01:00
super.c Revert "fs: explicitly unregister per-superblock BDIs" 2024-11-24 00:23:31 +01:00
sync.c
timerfd.c
userfaultfd.c
utimes.c
xattr.c