From bfef1cdccf6b399b01b3818784a61594249d2b73 Mon Sep 17 00:00:00 2001 From: yang xu Date: Fri, 1 Dec 2017 18:05:36 +0800 Subject: [PATCH] generic/459: Fix check for ro-remount in extN Currently ,freeze failure caused by the lack of space can not guarantee to remount extN filesystem in read-only mode, and test failed due to "ro" mount option not found. We can add a touch to trigger the action which aborts journal and ro-remounts the fs. [eguan: update commit log and comments a bit] Signed-off-by: yang xu Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- tests/generic/459 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/generic/459 b/tests/generic/459 index eb05fb80..e755cf7f 100755 --- a/tests/generic/459 +++ b/tests/generic/459 @@ -125,16 +125,19 @@ $LVM_PROG lvextend -L $newpsize $vgname/$poolname >>$seqres.full 2>&1 wait $freezeid ret=$? - # Different filesystems will handle the lack of real space in different ways, # some will remount the filesystem in read-only mode, some will not. These tests # will check if: # - The filesystem turns into Read-Only and reject further writes # - The filesystem stays in Read-Write mode, but can be frozen/thawed # without getting stuck. -ISRO=$(_fs_options /dev/mapper/$vgname-$snapname | grep -w "ro") - if [ $ret -ne 0 ]; then + # fsfreeze failed, filesystem should reject further writes and remount + # as readonly. Sometimes the previous write process won't trigger + # ro-remount, e.g. on ext3/4, do additional touch here to make sure + # filesystems see the metadata I/O error. + touch $SCRATCH_MNT/newfile >/dev/null 2>&1 + ISRO=$(_fs_options /dev/mapper/$vgname-$snapname | grep -w "ro") if [ -n "$ISRO" ]; then echo "Test OK" else -- 2.47.3