diff mbox

[2/2] btrfs-progs: tests/fsck: Add test case to check if btrfs check can skip data csum verfication for metadata dump

Message ID 20180403053947.5908-2-wqu@suse.com (mailing list archive)
State New, archived
Headers show

Commit Message

Qu Wenruo April 3, 2018, 5:39 a.m. UTC
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
 .../031-metadatadump-check-data-csum/test.sh       | 32 ++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100755 tests/fsck-tests/031-metadatadump-check-data-csum/test.sh

Comments

David Sterba April 9, 2018, 2:31 p.m. UTC | #1
On Tue, Apr 03, 2018 at 01:39:47PM +0800, Qu Wenruo wrote:
> Signed-off-by: Qu Wenruo <wqu@suse.com>
> ---
>  .../031-metadatadump-check-data-csum/test.sh       | 32 ++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>  create mode 100755 tests/fsck-tests/031-metadatadump-check-data-csum/test.sh
> 
> diff --git a/tests/fsck-tests/031-metadatadump-check-data-csum/test.sh b/tests/fsck-tests/031-metadatadump-check-data-csum/test.sh
> new file mode 100755
> index 000000000000..9f14c4122f4b
> --- /dev/null
> +++ b/tests/fsck-tests/031-metadatadump-check-data-csum/test.sh
> @@ -0,0 +1,32 @@
> +#!/bin/bash
> +# To check if "btrfs check" can detect metadata dump (restored by btrfs-iamge)
> +# and ignore --check-data-csum option
> +
> +source "$TEST_TOP/common"
> +
> +check_prereq btrfs
> +check_prereq mkfs.btrfs
> +check_prereq btrfs-image
> +setup_root_helper
> +prepare_test_dev
> + 
> +tmp=$(mktemp --tmpdir btrfs-progs-fsck.XXXXXXX)

For a single temporary file I'd suggest not to use mktemp, so I'll remove
the line.

> +run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f "$TEST_DEV"
> +run_check_mount_test_dev
> +
> +run_check $SUDO_HELPER dd if=/dev/urandom of="$TEST_MNT/file" bs=4k count=16
> +run_check_umount_test_dev
> +
> +run_check $SUDO_HELPER "$TOP/btrfs-image" "$TEST_DEV" "$tmp.image"
> +
> +# use prepare_test_dev() to wipe all existing data on $TEST_DEV
> +# so there is no way that restored image could have mathcing data csum
> +prepare_test_dev
> +
> +run_check $SUDO_HELPER "$TOP/btrfs-image" -r "$tmp.image" "$TEST_DEV"
> +
> +# Should not report any error
> +run_check "$TOP/btrfs" check --check-data-csum "$TEST_DEV"
> +
> +rm -rf -- "$tmp*"
> -- 
> 2.16.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/tests/fsck-tests/031-metadatadump-check-data-csum/test.sh b/tests/fsck-tests/031-metadatadump-check-data-csum/test.sh
new file mode 100755
index 000000000000..9f14c4122f4b
--- /dev/null
+++ b/tests/fsck-tests/031-metadatadump-check-data-csum/test.sh
@@ -0,0 +1,32 @@ 
+#!/bin/bash
+# To check if "btrfs check" can detect metadata dump (restored by btrfs-iamge)
+# and ignore --check-data-csum option
+
+source "$TEST_TOP/common"
+
+check_prereq btrfs
+check_prereq mkfs.btrfs
+check_prereq btrfs-image
+setup_root_helper
+prepare_test_dev
+ 
+tmp=$(mktemp --tmpdir btrfs-progs-fsck.XXXXXXX)
+
+run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f "$TEST_DEV"
+run_check_mount_test_dev
+
+run_check $SUDO_HELPER dd if=/dev/urandom of="$TEST_MNT/file" bs=4k count=16
+run_check_umount_test_dev
+
+run_check $SUDO_HELPER "$TOP/btrfs-image" "$TEST_DEV" "$tmp.image"
+
+# use prepare_test_dev() to wipe all existing data on $TEST_DEV
+# so there is no way that restored image could have mathcing data csum
+prepare_test_dev
+
+run_check $SUDO_HELPER "$TOP/btrfs-image" -r "$tmp.image" "$TEST_DEV"
+
+# Should not report any error
+run_check "$TOP/btrfs" check --check-data-csum "$TEST_DEV"
+
+rm -rf -- "$tmp*"