From patchwork Tue Feb 5 19:31:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amir Goldstein X-Patchwork-Id: 10798197 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0BF416C2 for ; Tue, 5 Feb 2019 19:31:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F30902C9BF for ; Tue, 5 Feb 2019 19:31:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E766E2C9D7; Tue, 5 Feb 2019 19:31:32 +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=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable 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 E3C682C9C2 for ; Tue, 5 Feb 2019 19:31:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726726AbfBETbb (ORCPT ); Tue, 5 Feb 2019 14:31:31 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:42928 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726422AbfBETbb (ORCPT ); Tue, 5 Feb 2019 14:31:31 -0500 Received: by mail-wr1-f68.google.com with SMTP id q18so4940663wrx.9; Tue, 05 Feb 2019 11:31:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=5qR5NzEvWQNMjBD9pfoqiJttSbKnxGkfYljPXM8yZQ8=; b=mOXi5uQocK3HJzq3xbNpoDmayRB4CFIqnbXn+OpJPW580aTXeHd+d2wQwo9kIGzfqx ijgsUM+2O6zSPIrvzt3Xvt8B37Kah6SFgniy8mWtmRQAH2eX3zgKWV6jyQSybUOYbwNr 8rpVLc8ypHIUzjc1EMkQ/LWSszKzBimmJE3KYeAy3C72b9z8Htb/H224UygQ3/xGybtM lb0mzp1bdXZdhLZD+fGITy+ljriwZ0o4YvVUqvwFItoHz8CKa9uhxud6ngBMNGBEo89D YTl2r5M0tX32aw4VbWjGkzYqzzwBPzzSopb+JepfxvE+qice/hdRBNtN7y6/ijWYFQGI 5tcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=5qR5NzEvWQNMjBD9pfoqiJttSbKnxGkfYljPXM8yZQ8=; b=AslMibnwp+asb3Y7zEpGejsgVKwgisiI92ag3C35PrgVfFyxcW6HH2gffXKM4ko9wD wC5FE0A0KuWZ48WqRwSGBnKFNTLBsCghu4NUzGPqhowRUKSHwoZGhnjIv/m0De9njzqn vhPPsSu4ULR9VS7jBkOHPpq6Uwwx6EOTIUWnVVKFKyAlENOA25C57FwsfzF6Ibg+z48p 8hjl6f1jf7EXu26kyfBBGQS8AzJkll5Ekxaea3ms9YWx32bYlee+PJp8Moa88gEXoN32 tNHcmPh23lNUxD8OhGLqt0oAJYVQpXHdSeEP8+7C5zwrsxy+WuBQQ/EmfQ+nL42Y/onu q81A== X-Gm-Message-State: AHQUAub+Hb63QMCL72PHw6a7nUwxJMDJR++8J6pY1TNwoP9nOtxju31h 4bpCPeD+AwJ2tgr7I+UQsRA= X-Google-Smtp-Source: AHgI3IZpRcq3kNmMW3ruBtr6h40tBVmP/FLrDybkhfhLWFHQsoGJk33I4WG/Rv9TYtOo6XKXgGhYYg== X-Received: by 2002:adf:edd1:: with SMTP id v17mr3000955wro.126.1549395088771; Tue, 05 Feb 2019 11:31:28 -0800 (PST) Received: from amir-VirtualBox.ctera.local ([141.226.11.31]) by smtp.gmail.com with ESMTPSA id y20sm20136949wra.51.2019.02.05.11.31.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 11:31:27 -0800 (PST) From: Amir Goldstein To: Eryu Guan Cc: Dave Chinner , Zorro Lang , Eric Sandeen , "Darrick J . Wong" , fstests@vger.kernel.org, linux-xfs@vger.kernel.org Subject: [PATCH v3] xfs/068: Verify actual file count instead of reported file count Date: Tue, 5 Feb 2019 21:31:18 +0200 Message-Id: <20190205193118.30969-1-amir73il@gmail.com> X-Mailer: git-send-email 2.17.1 Sender: linux-xfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This test has the number of files/dirs created by xfsrestore hardcoded in golden output. When fsstress is added new ops, the number of files/dirs created with the same random seed changes and this regularly breaks this test, so when new fsstress ops are added they should be either added to the dump test blacklist or golden output of this test needs to be ammended to reflect the change. The golden output includes only the file count reported by xfsrestore and test does not even verify that this is the correct file count. Instead, leave the golden output neutral and explicitly verify that file count before and after the test are the same. With this change, the test becomes agnostic to fsstress ops and we could also stop blacklisting clone/dedup/copy ops if we want. Signed-off-by: Amir Goldstein --- common/dump | 20 ++++++++++++++++++++ tests/xfs/068 | 14 +++++++++++++- tests/xfs/068.out | 2 +- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/common/dump b/common/dump index 6b08fc4e..7c4c9cd8 100644 --- a/common/dump +++ b/common/dump @@ -1517,6 +1517,26 @@ _check_quota_file() _check_quota 'xfsdump_quotas' 'xfsdump_quotas_group' 'xfsdump_quotas_proj' } +_count_dir_files() +{ + local dir=$1 + + local ndirs=$(find $dir -type d | wc -l) + local nents=$(find $dir | wc -l) + + echo "$ndirs directories and $nents entries" +} + +_count_dumpdir_files() +{ + _count_dir_files $dump_dir +} + +_count_restoredir_files() +{ + _count_dir_files $restore_dir/$dump_sdir +} + # make sure this script returns success /bin/true diff --git a/tests/xfs/068 b/tests/xfs/068 index 7f5900fc..a422d095 100755 --- a/tests/xfs/068 +++ b/tests/xfs/068 @@ -30,12 +30,24 @@ _cleanup() . ./common/rc . ./common/dump +# remove previous $seqres.full before test +rm -f $seqres.full + # real QA test starts here _supported_fs xfs _supported_os Linux _create_dumpdir_stress_num 4096 -_do_dump_restore + +echo -n "Before: " >> $seqres.full +_count_dumpdir_files | tee $tmp.before >> $seqres.full + +# filter out the file count, it changes as fsstress adds new operations +_do_dump_restore | sed -e "/entries processed$/s/[0-9][0-9]*/NUM/g" + +echo -n "After: " >> $seqres.full +_count_restoredir_files | tee $tmp.after >> $seqres.full +diff -u $tmp.before $tmp.after # success, all done exit diff --git a/tests/xfs/068.out b/tests/xfs/068.out index fa3a5523..2b276b77 100644 --- a/tests/xfs/068.out +++ b/tests/xfs/068.out @@ -22,7 +22,7 @@ xfsrestore: session id: ID xfsrestore: media ID: ID xfsrestore: searching media for directory dump xfsrestore: reading directories -xfsrestore: 383 directories and 1335 entries processed +xfsrestore: NUM directories and NUM entries processed xfsrestore: directory post-processing xfsrestore: restoring non-directory files xfsrestore: restore complete: SECS seconds elapsed