From patchwork Fri Nov 10 01:34:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qu Wenruo X-Patchwork-Id: 10052265 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id ADF0B60631 for ; Fri, 10 Nov 2017 01:34:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9FFD62AC4B for ; Fri, 10 Nov 2017 01:34:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 94E602AF90; Fri, 10 Nov 2017 01:34:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B79EE2AC4B for ; Fri, 10 Nov 2017 01:34:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755603AbdKJBee (ORCPT ); Thu, 9 Nov 2017 20:34:34 -0500 Received: from prv3-mh.provo.novell.com ([137.65.250.26]:40015 "EHLO prv3-mh.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755575AbdKJBe0 (ORCPT ); Thu, 9 Nov 2017 20:34:26 -0500 Received: from adam-pc.lan (prv-ext-foundry1int.gns.novell.com [137.65.251.240]) by prv3-mh.provo.novell.com with ESMTP (NOT encrypted); Thu, 09 Nov 2017 18:34:22 -0700 From: Qu Wenruo To: linux-btrfs@vger.kernel.org Cc: dsterba@suse.cz Subject: [PATCH v2 1/3] btrfs-progs: test/fsck: Introduce test images containing tree reloc tree Date: Fri, 10 Nov 2017 09:34:17 +0800 Message-Id: <20171110013419.15159-1-wqu@suse.com> X-Mailer: git-send-email 2.15.0 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Tree reloc tree is a special tree with very short life spawn. It acts as a special snapshot for any tree, with related nodes/leaves or EXTENT_DATA modified to point to new position. Considering the short life spawn and its specialness, it should be quite reasonable to keep them as both corner case for fsck and educational dump for anyone interested in relocation. Signed-off-by: Qu Wenruo --- v2: Use check_image() override other than custom check function. Suggested by David. --- tests/fsck-tests/027-tree-reloc-tree/test.sh | 19 +++++++++++++++++++ .../tree_reloc_for_data_reloc.img.xz | Bin 0 -> 2112 bytes .../tree_reloc_for_fs_tree.img.xz | Bin 0 -> 2424 bytes 3 files changed, 19 insertions(+) create mode 100755 tests/fsck-tests/027-tree-reloc-tree/test.sh create mode 100644 tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz create mode 100644 tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_fs_tree.img.xz diff --git a/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz b/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz new file mode 100644 index 0000000000000000000000000000000000000000..66d8bde6b7a6c451eb7b3b6f4dbc6a919144d1f5 GIT binary patch literal 2112 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 literal 0 HcmV?d00001 diff --git a/tests/fsck-tests/027-tree-reloc-tree/test.sh b/tests/fsck-tests/027-tree-reloc-tree/test.sh new file mode 100755 index 000000000000..1198e5da10a2 --- /dev/null +++ b/tests/fsck-tests/027-tree-reloc-tree/test.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Make sure btrfs check won't report any false alert for valid image with +# tree reloc tree. +# +# Also due to the short life spawn of tree reloc tree, save them as dump +# example for later usage. + +source "$TOP/tests/common" + +check_prereq btrfs + +check_image() { + local image + + image=$1 + run_check "$TOP/btrfs" check "$image" +} + +check_all_images