From patchwork Sat Mar 5 00:37:37 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 8508611 Return-Path: X-Original-To: patchwork-linux-btrfs@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id B5D4E9F314 for ; Sat, 5 Mar 2016 00:37:55 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 8C7482011D for ; Sat, 5 Mar 2016 00:37:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 33FCE20260 for ; Sat, 5 Mar 2016 00:37:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760107AbcCEAht (ORCPT ); Fri, 4 Mar 2016 19:37:49 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:39538 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759626AbcCEAhq (ORCPT ); Fri, 4 Mar 2016 19:37:46 -0500 Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u250bd7T018886 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 5 Mar 2016 00:37:40 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.13.8) with ESMTP id u250bd0O024472 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Sat, 5 Mar 2016 00:37:39 GMT Received: from abhmp0004.oracle.com (abhmp0004.oracle.com [141.146.116.10]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id u250bcGD005838; Sat, 5 Mar 2016 00:37:39 GMT Received: from localhost (/10.159.166.81) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 04 Mar 2016 16:37:38 -0800 Subject: [PATCH 03/12] reflink: fix fragmentation tests to work on >4k block size filesystems From: "Darrick J. Wong" To: david@fromorbit.com, darrick.wong@oracle.com Cc: linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org, fstests@vger.kernel.org, xfs@oss.sgi.com Date: Fri, 04 Mar 2016 16:37:37 -0800 Message-ID: <20160305003737.28738.35234.stgit@birch.djwong.org> In-Reply-To: <20160305003717.28738.98818.stgit@birch.djwong.org> References: <20160305003717.28738.98818.stgit@birch.djwong.org> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Source-IP: userv0022.oracle.com [156.151.31.74] Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP For tests that only overwrite part of a file, only consider the number of extents in the *rewritten* blocks when deciding if the FS fragmentation performance is satisfactory. (Also slip in a fix for xfs/127 so that it formats correctly when we specify big blocksizes via MKFS_OPTIONS.) Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- tests/xfs/127 | 2 +- tests/xfs/215 | 2 +- tests/xfs/218 | 2 +- tests/xfs/219 | 2 +- tests/xfs/221 | 2 +- tests/xfs/223 | 2 +- tests/xfs/224 | 2 +- tests/xfs/225 | 2 +- tests/xfs/226 | 2 +- tests/xfs/228 | 2 +- tests/xfs/230 | 2 +- tests/xfs/231 | 2 +- tests/xfs/232 | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) -- 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 --git a/tests/xfs/127 b/tests/xfs/127 index f44daae..6b768c9 100755 --- a/tests/xfs/127 +++ b/tests/xfs/127 @@ -48,7 +48,7 @@ _require_scratch_reflink _require_cp_reflink echo "Format and mount" -_scratch_mkfs -d size=$((2 * 4096 * 4096)) -l size=4194304 > $seqres.full 2>&1 +_scratch_mkfs_sized $((2 * 4096 * 4096)) > $seqres.full 2>&1 _scratch_mount >> $seqres.full 2>&1 testdir=$SCRATCH_MNT/test-$seq diff --git a/tests/xfs/215 b/tests/xfs/215 index 5ae4d85..7a517d7 100755 --- a/tests/xfs/215 +++ b/tests/xfs/215 @@ -95,7 +95,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/218 b/tests/xfs/218 index ea464f2..0ab4102 100755 --- a/tests/xfs/218 +++ b/tests/xfs/218 @@ -94,7 +94,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/219 b/tests/xfs/219 index 012b07c..df57e07 100755 --- a/tests/xfs/219 +++ b/tests/xfs/219 @@ -95,7 +95,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 4))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/221 b/tests/xfs/221 index 8b860f2..03d81ac 100755 --- a/tests/xfs/221 +++ b/tests/xfs/221 @@ -94,7 +94,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 4))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/223 b/tests/xfs/223 index 1e6ba98..7c990a2 100755 --- a/tests/xfs/223 +++ b/tests/xfs/223 @@ -97,7 +97,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/224 b/tests/xfs/224 index 3d19f94..bf33d1f 100755 --- a/tests/xfs/224 +++ b/tests/xfs/224 @@ -96,7 +96,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/225 b/tests/xfs/225 index c2e5b82..749816f 100755 --- a/tests/xfs/225 +++ b/tests/xfs/225 @@ -95,7 +95,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/226 b/tests/xfs/226 index 3f035b4..bb94d24 100755 --- a/tests/xfs/226 +++ b/tests/xfs/226 @@ -94,7 +94,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/228 b/tests/xfs/228 index 52fbb75..df1fd7a 100755 --- a/tests/xfs/228 +++ b/tests/xfs/228 @@ -103,7 +103,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr * 4 / 10))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/230 b/tests/xfs/230 index 91e4d3f..73f599a 100755 --- a/tests/xfs/230 +++ b/tests/xfs/230 @@ -103,7 +103,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr * 4 / 10))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/231 b/tests/xfs/231 index 60f59a9..166f6b0 100755 --- a/tests/xfs/231 +++ b/tests/xfs/231 @@ -123,7 +123,7 @@ new_extents=$(_count_extents $testdir/file2) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 7)) || echo "file2 badly fragmented" +test $new_extents -le $((3 * nr / bufnr)) || echo "file2 more fragmented than expected" # success, all done status=0 diff --git a/tests/xfs/232 b/tests/xfs/232 index 9a8403c..0008dbf 100755 --- a/tests/xfs/232 +++ b/tests/xfs/232 @@ -125,7 +125,7 @@ new_extents=$(_count_extents $testdir/file2) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 12)) || echo "file2 not sufficiently fragmented" +test $new_extents -le $((2 * nr / bufnr)) || echo "file2 more fragmented than expected" # success, all done status=0