Hi Linus, we've finally identified commit dc732906c245 ("gfs2: Introduce flag for glock holder auto-demotion") to be the other cause of the filesystem corruption we've been seeing. This feature isn't strictly necessary anymore, so we've decided to stop using it for now. With this and the gfs_iomap_end rounding fix you've already seen ("gfs2: Fix filesystem block deallocation for short writes" in this pull request), we're corruption free again now.
Would you like to still pull these fixes for v5.18, or should we send them in the next merge window? Thanks again for all the help you've provided. Andreas The following changes since commit 4a2316a1eda4ef3ced18c7f08f7cb3726bcae44b: Merge tag 'gfs2-v5.18-rc4-fix2' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 (2022-04-28 09:50:29 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git tags/gfs2-v5.18-rc4-fix3 for you to fetch changes up to e1fa9ea85ce89207d2ac0316da35a4a7736801f9: gfs2: Stop using glock holder auto-demotion for now (2022-05-13 22:32:52 +0200) ---------------------------------------------------------------- gfs2 fixes - Fix filesystem block deallocation for short writes. - Stop using glock holder auto-demotion for now. - Get rid of buffered writes inefficiencies due to page faults being disabled. - Minor other cleanups. ---------------------------------------------------------------- Andreas Gruenbacher (7): gfs2: Fix filesystem block deallocation for short writes gfs2: Variable rename gfs2: Clean up use of fault_in_iov_iter_{read,write}able gfs2: Pull return value test out of should_fault_in_pages gfs2: Align read and write chunks to the page cache gfs2: buffered write prefaulting gfs2: Stop using glock holder auto-demotion for now fs/gfs2/bmap.c | 11 +++-- fs/gfs2/file.c | 139 ++++++++++++++++++++++++++------------------------------- 2 files changed, 68 insertions(+), 82 deletions(-)