This series of patches fixes problems discovered while testing patch
34244d711dea568f4a42c5b0d6b3d620f8cb6971 "Don't sleep during glock hash walk"
with various combinations of these xfstests under low memory conditions:
env SCRATCH_DEV="/dev/sda" SCRATCH_MNT="/mnt/scratch" TEST_DEV="/dev/sdb"
TEST_DIR="/mnt/gfs2" ./check generic/076 generic/081 generic/224
and:
env SCRATCH_DEV="/dev/sda" SCRATCH_MNT="/mnt/scratch" TEST_DEV="/dev/sdb"
TEST_DIR="/mnt/gfs2" ./check generic/0{34,35,38}
The bug led to "general protection fault, probably for non-canonical address"
errors called from either move_to_new_page() or shrink_page_list().
It was always a reference to an invalid address space pointer, page->mapping.
Bob Peterson (3):
gfs2: Free rd_bits later in gfs2_clear-rgrpd to fix use-after-free
gfs2: Add missing truncate_inode_pages_final for sd_aspace
gfs2: Use filemap_fdatawrite_range for gfs2_meta_sync
fs/gfs2/lops.c | 14 +++++++++++---
fs/gfs2/rgrp.c | 2 +-
fs/gfs2/super.c | 1 +
3 files changed, 13 insertions(+), 4 deletions(-)
--
2.26.2