From: Christoph Hellwig <hch@lst.de>
To: fstests@vger.kernel.org
Cc: linux-xfs@vger.kernel.org
Subject: [PATCH] xfs/004: account for XFS reservations changes in 4.10-rc
Date: Fri, 13 Jan 2017 18:05:40 +0100 [thread overview]
Message-ID: <1484327140-13654-1-git-send-email-hch@lst.de> (raw)
And drop support for some really old kernels to clean things up.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
tests/xfs/004 | 23 ++++++-----------------
1 file changed, 6 insertions(+), 17 deletions(-)
diff --git a/tests/xfs/004 b/tests/xfs/004
index 09da2fe..bbc1aee 100755
--- a/tests/xfs/004
+++ b/tests/xfs/004
@@ -83,29 +83,18 @@ eval `$XFS_IO_PROG -x -c resblks $SCRATCH_MNT 2>&1 \
echo "resblks gave: resblks=$resblks" >>$seqres.full
# check the 'blocks' field from freesp command is OK
-# since 2.6.18, df does not report the 4 blocks per AG that cannot
-# be allocated, hence we check for that exact mismatch.
-# since ~2.6.22, reserved blocks are used by default and df does
-# not report them, hence check for an exact mismatch.
+# - starting with Linux 4.10-rc the bmbt split reservation moved to be per-AG
perl -ne '
- BEGIN { $avail ='$avail' * 512;
+ BEGIN { $avail ='$avail' * 512 + ('$resblks' * '$dbsize');
$answer="(no xfs_db free blocks line?)" }
/free blocks (\d+)$/ || next;
$freesp = $1 * '$dbsize';
- if ($freesp == $avail) {
+ if ($freesp == $avail + ('$agcount') * '$dbsize' * 8) {
+ $answer = "yes";
+ } elsif ($freesp == $avail + (('$agcount' + 1) * '$dbsize' * 4)) {
$answer = "yes";
} else {
- $avail = $avail + (('$agcount' + 1) * '$dbsize' * 4);
- if ($freesp == $avail) {
- $answer = "yes";
- } else {
- $avail = $avail + ('$resblks' * '$dbsize');
- if ($freesp == $avail) {
- $answer = "yes";
- } else {
- $answer = "no ($freesp != $avail)";
- }
- }
+ $answer = "no ($freesp != $avail)";
}
END { print "$answer\n" }
' <$tmp.xfs_db >$tmp.ans
--
2.1.4
reply other threads:[~2017-01-13 17:05 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=1484327140-13654-1-git-send-email-hch@lst.de \
--to=hch@lst.de \
--cc=fstests@vger.kernel.org \
--cc=linux-xfs@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).