linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Qu Wenruo <wqu@suse.com>
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 3/3] btrfs-progs: tests/fsck: add test image with invalid metadata backref level
Date: Mon, 17 Jan 2022 10:38:50 +0800	[thread overview]
Message-ID: <20220117023850.40337-4-wqu@suse.com> (raw)
In-Reply-To: <20220117023850.40337-1-wqu@suse.com>

The image has a key in extent tree, (30457856 METADATA_ITEM 256), which
has invalid level (256 > BTRFS_MAX_LEVEL).

Make sure check can at least detect such problem.

Signed-off-by: Qu Wenruo <wqu@suse.com>
---
 .../053-bad-metadata-level/default.img.xz     | Bin 0 -> 2084 bytes
 .../fsck-tests/053-bad-metadata-level/test.sh |  19 ++++++++++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 tests/fsck-tests/053-bad-metadata-level/default.img.xz
 create mode 100755 tests/fsck-tests/053-bad-metadata-level/test.sh

diff --git a/tests/fsck-tests/053-bad-metadata-level/default.img.xz b/tests/fsck-tests/053-bad-metadata-level/default.img.xz
new file mode 100644
index 0000000000000000000000000000000000000000..d7debee7b7c2bb457dbe734da2429859245770ae
GIT binary patch
literal 2084
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
O#Ao{g000001X)_pOZyN2

literal 0
HcmV?d00001

diff --git a/tests/fsck-tests/053-bad-metadata-level/test.sh b/tests/fsck-tests/053-bad-metadata-level/test.sh
new file mode 100755
index 000000000000..0ffd7bdf34a1
--- /dev/null
+++ b/tests/fsck-tests/053-bad-metadata-level/test.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+#
+# Verify that check can detect invalid metadata backref level.
+#
+# There is a report that btrfs-check original mode doesn't report invalid
+# metadata backref level, and lowmem mode would just crash.
+#
+# Make sure btrfs check can at least detect such error.
+
+source "$TEST_TOP/common"
+
+check_prereq btrfs
+
+check_image() {
+	run_mustfail "invalid metadata backref level not detected" \
+		"$TOP/btrfs" check "$1"
+}
+
+check_all_images
-- 
2.34.1


  parent reply	other threads:[~2022-01-17  2:39 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-17  2:38 [PATCH 0/3] btrfs-progs: fsck: detect obviously invalid metadata backref level Qu Wenruo
2022-01-17  2:38 ` [PATCH 1/3] btrfs-progs: check/lowmem: fix crash when METADATA_ITEM has invalid level Qu Wenruo
2022-01-17  2:47   ` Su Yue
2022-01-17  2:38 ` [PATCH 2/3] btrfs: check/original: reject bad metadata backref with " Qu Wenruo
2022-01-17  2:48   ` Su Yue
2022-02-01 17:34     ` David Sterba
2022-01-17  2:38 ` Qu Wenruo [this message]
2022-02-01 17:37 ` [PATCH 0/3] btrfs-progs: fsck: detect obviously invalid metadata backref level David Sterba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220117023850.40337-4-wqu@suse.com \
    --to=wqu@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).