From: Darrick J. Wong <djwong@xxxxxxxxxx> This is a regression test for an xfs_copy fix that ensures that it doesn't perform a cached read of an XFS filesystem prior to initializing libxfs, since the xfs_mount (and hence the buffer cache) isn't set up yet. Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> --- tests/xfs/844 | 37 +++++++++++++++++++++++++++++++++++++ tests/xfs/844.out | 3 +++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100755 tests/xfs/844 create mode 100644 tests/xfs/844.out diff --git a/tests/xfs/844 b/tests/xfs/844 new file mode 100755 index 00000000..720f45bb --- /dev/null +++ b/tests/xfs/844 @@ -0,0 +1,37 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2022 Oracle. All Rights Reserved. +# +# FS QA Test 844 +# +# Regression test for xfsprogs commit: +# +# XXXXXXXX ("xfs_copy: don't use cached buffer reads until after libxfs_mount") +# +. ./common/preamble +_begin_fstest auto copy + +_cleanup() +{ + cd / + rm -r -f $tmp.* $TEST_DIR/$seq.* +} + +# Import common functions. +# . ./common/filter + +# real QA test starts here + +# Modify as appropriate. +_supported_fs generic +_require_xfs_copy +_require_test + +truncate -s 100m $TEST_DIR/$seq.a +truncate -s 100m $TEST_DIR/$seq.b + +$XFS_COPY_PROG $TEST_DIR/$seq.a $TEST_DIR/$seq.b + +# success, all done +status=0 +exit diff --git a/tests/xfs/844.out b/tests/xfs/844.out new file mode 100644 index 00000000..dbefde1c --- /dev/null +++ b/tests/xfs/844.out @@ -0,0 +1,3 @@ +QA output created by 844 +bad magic number +xfs_copy: couldn't read superblock, error=22