summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
600b4b2)
And drop support for some really old kernels to clean things up.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
echo "resblks gave: resblks=$resblks" >>$seqres.full
# check the 'blocks' field from freesp command is OK
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
- BEGIN { $avail ='$avail' * 512;
+ BEGIN { $avail ='$avail' * 512 + ('$resblks' * '$dbsize');
$answer="(no xfs_db free blocks line?)" }
/free blocks (\d+)$/ || next;
$freesp = $1 * '$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 {
$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
}
END { print "$answer\n" }
' <$tmp.xfs_db >$tmp.ans