linux-yocto/fs/gfs2
Andreas Gruenbacher 9468bcd92d gfs2: Don't start unnecessary transactions during log flush
[ Upstream commit 5a90f8d499 ]

Commit 8d391972ae ("gfs2: Remove __gfs2_writepage()") changed the log
flush code in gfs2_ail1_start_one() to call aops->writepages() instead
of aops->writepage().  For jdata inodes, this means that we will now try
to reserve log space and start a transaction before we can determine
that the pages in question have already been journaled.  When this
happens in the context of gfs2_logd(), it can now appear that not enough
log space is available for freeing up log space, and we will lock up.

Fix that by issuing journal writes directly instead of going through
aops->writepages() in the log flush code.

Fixes: 8d391972ae ("gfs2: Remove __gfs2_writepage()")
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-07-10 16:04:57 +02:00
..
acl.c
acl.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
aops.c gfs2: Don't start unnecessary transactions during log flush 2025-07-10 16:04:57 +02:00
aops.h gfs2: Don't start unnecessary transactions during log flush 2025-07-10 16:04:57 +02:00
bmap.c gfs2: Move gfs2_trans_add_databufs 2025-07-10 16:04:57 +02:00
bmap.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
dentry.c Revert "gfs2: Use GL_NOBLOCK flag for non-blocking lookups" 2024-02-02 17:21:44 +01:00
dir.c gfs2: Improve gfs2_consist_inode() usage 2024-04-09 18:35:57 +02:00
dir.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
export.c dlm for 6.8 2024-01-10 10:17:23 -08:00
file.c gfs2: Truncate address space when flipping GFS2_DIF_JDATA flag 2025-02-01 18:39:37 +01:00
gfs2.h
glock.c gfs2: Replace GIF_DEFER_DELETE with GLF_DEFER_DELETE 2025-07-10 16:04:56 +02:00
glock.h gfs2: Fix unlinked inode cleanup 2024-12-05 14:02:18 +01:00
glops.c gfs2: Initialize gl_no_formal_ino earlier 2025-07-10 16:04:55 +02:00
glops.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
incore.h gfs2: Replace GIF_DEFER_DELETE with GLF_DEFER_DELETE 2025-07-10 16:04:56 +02:00
inode.c gfs2: deallocate inodes in gfs2_create_inode 2025-07-10 16:04:56 +02:00
inode.h gfs2: Move gfs2_dinode_dealloc 2025-07-10 16:04:56 +02:00
Kconfig
lock_dlm.c gfs2: move msleep to sleepable context 2025-06-27 11:11:12 +01:00
log.c gfs2: Don't start unnecessary transactions during log flush 2025-07-10 16:04:57 +02:00
log.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
lops.c gfs2: Remove use of error flag in journal reads 2023-12-20 21:29:41 +01:00
lops.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
main.c mm, slab: remove last vestiges of SLAB_MEM_SPREAD 2024-03-12 20:32:19 -07:00
Makefile
meta_io.c gfs2: replace sd_aspace with sd_inode 2025-06-19 15:31:26 +02:00
meta_io.h gfs2: replace sd_aspace with sd_inode 2025-06-19 15:31:26 +02:00
ops_fstype.c gfs2: Don't clear sb->s_fs_info in gfs2_sys_fs_add 2025-06-19 15:32:37 +02:00
quota.c gfs2: Revert "check for no eligible quota changes" 2024-06-20 16:38:15 +02:00
quota.h gfs2 fixes 2023-11-07 11:54:17 -08:00
recovery.c gfs2: Rename gfs2_withdrawn to gfs2_withdrawing_or_withdrawn 2023-12-20 21:29:40 +01:00
recovery.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
rgrp.c gfs2: Fix unlinked inode cleanup 2024-12-05 14:02:18 +01:00
rgrp.h gfs2: No longer use 'extern' in function declarations 2023-11-06 01:51:26 +01:00
super.c gfs2: deallocate inodes in gfs2_create_inode 2025-07-10 16:04:56 +02:00
super.h gfs2 fixes 2023-11-07 11:54:17 -08:00
sys.c gfs2: Don't clear sb->s_fs_info in gfs2_sys_fs_add 2025-06-19 15:32:37 +02:00
sys.h
trace_gfs2.h gfs2: Replace GIF_DEFER_DELETE with GLF_DEFER_DELETE 2025-07-10 16:04:56 +02:00
trans.c gfs2: Move gfs2_trans_add_databufs 2025-07-10 16:04:57 +02:00
trans.h gfs2: Move gfs2_trans_add_databufs 2025-07-10 16:04:57 +02:00
util.c gfs2: Revert "Add quota_change type" 2024-06-08 02:35:09 +02:00
util.h gfs2: gfs2_freeze_unlock cleanup 2024-04-29 12:35:15 +02:00
xattr.c gfs2: Move GIF_ALLOC_FAILED check out of gfs2_ea_dealloc 2025-07-10 16:04:56 +02:00
xattr.h gfs2: Move GIF_ALLOC_FAILED check out of gfs2_ea_dealloc 2025-07-10 16:04:56 +02:00