[PATCH] xfs/004: account for XFS reservations changes in 4.10-rc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



And drop support for some really old kernels to clean things up.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux