These two tests simulate log failure during a reflink operation.
However, the contents of the target of the reflink operation depend
on the block size, so we cannot hardcode md5 hashes in this test.
Since the whole point of the test is to ensure that the the complex
chain of transactions actually finishes no matter where the
interruption, it is sufficient simply to run the usual end-of-test
fsck to look for corrupt metadata.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
echo "Remount to replay log"
_scratch_inject_logprint >> $seqres.full
-echo "Check files"
-md5sum $SCRATCH_MNT/file1 | _filter_scratch
-md5sum $SCRATCH_MNT/file2 | _filter_scratch
-md5sum $SCRATCH_MNT/file3 | _filter_scratch
-
echo "FS should be online, touch should succeed"
touch $SCRATCH_MNT/goodfs
FS should be shut down, touch will fail
touch: cannot touch 'SCRATCH_MNT/badfs': Input/output error
Remount to replay log
-Check files
-2a4f043bf9730a9e8882c9264b9797b3 SCRATCH_MNT/file1
-2a4f043bf9730a9e8882c9264b9797b3 SCRATCH_MNT/file2
-2a4f043bf9730a9e8882c9264b9797b3 SCRATCH_MNT/file3
FS should be online, touch should succeed
Done
echo "Remount to replay log"
_scratch_inject_logprint >> $seqres.full
-echo "Check files"
-md5sum $SCRATCH_MNT/file1 | _filter_scratch
-md5sum $SCRATCH_MNT/file3 | _filter_scratch
-
echo "FS should be online, touch should succeed"
touch $SCRATCH_MNT/goodfs
FS should be shut down, touch will fail
touch: cannot touch 'SCRATCH_MNT/badfs': Input/output error
Remount to replay log
-Check files
-2a4f043bf9730a9e8882c9264b9797b3 SCRATCH_MNT/file1
-2a4f043bf9730a9e8882c9264b9797b3 SCRATCH_MNT/file3
FS should be online, touch should succeed
Done