generic/388: randomly recover via read-only mounts

XFS has an issue where superblock counters may not be properly
synced when recovery occurs via a read-only mount. This causes the
filesystem to become inconsistent after unmount. To cover this test
case, update generic/388 to switch between read-only and read-write
mounts to perform log recovery.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Brian Foster
2021-01-05 06:58:44 -05:00
committed by Eryu Guan
parent c13150fe02
commit 02f7e9feb9
+8 -2
View File
@@ -66,8 +66,14 @@ for i in $(seq 1 $((50 * TIME_FACTOR)) ); do
ps -e | grep fsstress > /dev/null 2>&1
done
# quit if mount fails so we don't shutdown the host fs
_scratch_cycle_mount || _fail "cycle mount failed"
# Toggle between rw and ro mounts for recovery. Quit if any mount
# attempt fails so we don't shutdown the host fs.
if [ $((RANDOM % 2)) -eq 0 ]; then
_scratch_cycle_mount || _fail "cycle mount failed"
else
_scratch_cycle_mount "ro" || _fail "cycle ro mount failed"
_scratch_cycle_mount || _fail "cycle rw mount failed"
fi
done
# success, all done