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 <xuyang.jy@cn.fujitsu.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
yang xu
2017-12-01 18:05:36 +08:00
committed by Eryu Guan
parent 88231c0c0b
commit bfef1cdccf
+6 -3
View File
@@ -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