#
# filter out counts which will vary
# - extsz, blocks, agsize, agcount, device name, rtextents
+# - log version varies for crc enabled fs
+# - lsunit varies for 512/4k sector devices
# filter out differences between linux and irix:
# - sectsz on Linux
# - mmr, mixed-case on IRIX
# = sunit=0 blks
# realtime =none extsz=65536 blocks=N, rtextents=N
#
-_mkfs_filter()
+mkfs_filter()
{
tee -a $seqres.full | \
sed \
-e '/ *= *mmr=[0-9][0-9]* *$/d' \
-e 's/ *mixed-case=[YN]//' \
-e 's/ *ascii-ci=[01]//' \
+ -e 's/\(version=\)\([12]\)/\1N/' \
+ -e 's/\(sunit=\)\([018] blks\)/\1N blks/' \
-e 's/sectsz=[0-9][0-9]* *//' \
-e 's/, lazy-count.*//' \
-e '/inode-paths/d' \
fi
echo "--- mkfs=$mkfs ---"
export MKFS_OPTIONS="$mkfs"
- _scratch_mkfs_xfs 2>&1 | _mkfs_filter
+ _scratch_mkfs_xfs 2>&1 | mkfs_filter
echo ""
echo ""
done
data = bsize=4096 blocks=N, imaxpct=N
= sunit=0 swidth=0 blks, unwritten=1
naming =version 2 bsize=4096
-log =LOG bsize=4096 blocks=N, version=2
- = sunit=8 blks
+log =LOG bsize=4096 blocks=N, version=N
realtime =REALTIME extsz=N, blocks=N, rtextents=N
data = bsize=4096 blocks=N, imaxpct=N
= sunit=65 swidth=65 blks, unwritten=1
naming =version 2 bsize=4096
-log =LOG bsize=4096 blocks=N, version=2
- = sunit=0 blks
+log =LOG bsize=4096 blocks=N, version=N
+ = sunit=N blks
realtime =REALTIME extsz=N, blocks=N, rtextents=N
data = bsize=4096 blocks=N, imaxpct=N
= sunit=65 swidth=65 blks, unwritten=1
naming =version 2 bsize=4096
-log =LOG bsize=4096 blocks=N, version=1
- = sunit=0 blks
+log =LOG bsize=4096 blocks=N, version=N
+ = sunit=N blks
realtime =REALTIME extsz=N, blocks=N, rtextents=N
data = bsize=4096 blocks=N, imaxpct=N
= sunit=65 swidth=65 blks, unwritten=1
naming =version 2 bsize=4096
-log =LOG bsize=4096 blocks=N, version=1
- = sunit=0 blks
+log =LOG bsize=4096 blocks=N, version=N
+ = sunit=N blks
realtime =REALTIME extsz=N, blocks=N, rtextents=N
data = bsize=4096 blocks=N, imaxpct=N
= sunit=0 swidth=0 blks, unwritten=1
naming =version 2 bsize=4096
-log =LOG bsize=4096 blocks=N, version=2
- = sunit=8 blks
+log =LOG bsize=4096 blocks=N, version=N
+ = sunit=N blks
realtime =REALTIME extsz=N, blocks=N, rtextents=N
data = bsize=4096 blocks=N, imaxpct=N
= sunit=65 swidth=65 blks, unwritten=1
naming =version 2 bsize=4096
-log =LOG bsize=4096 blocks=N, version=2
- = sunit=8 blks
+log =LOG bsize=4096 blocks=N, version=N
+ = sunit=N blks
realtime =REALTIME extsz=N, blocks=N, rtextents=N
data = bsize=4096 blocks=N, imaxpct=N
= sunit=65 swidth=65 blks, unwritten=1
naming =version 2 bsize=4096
-log =LOG bsize=4096 blocks=N, version=1
- = sunit=0 blks
+log =LOG bsize=4096 blocks=N, version=N
+ = sunit=N blks
realtime =REALTIME extsz=N, blocks=N, rtextents=N
data = bsize=4096 blocks=N, imaxpct=N
= sunit=65 swidth=65 blks, unwritten=1
naming =version 2 bsize=4096
-log =LOG bsize=4096 blocks=N, version=1
- = sunit=0 blks
+log =LOG bsize=4096 blocks=N, version=N
+ = sunit=N blks
realtime =REALTIME extsz=N, blocks=N, rtextents=N
dd if=/dev/zero of=$tmpfile bs=1 seek=19998630180864 count=1 >/dev/null 2>&1 \
|| _fail "!!! failed to truncate loopback file to correct size"
+mkfs_filter()
+{
+ sed -e "s,^meta-data=.*isize,meta-data=FILE isize,g" \
+ -e "s/\(^log.*blocks=\)\([0-9]*,\)/\1XXXXX,/" \
+ -e "s/, projid32bit=[0-9]//" \
+ -e "s/ ftype=[0-9]//" \
+ -e "s/\(sectsz\)\(=[0-9]* *\)/\1=512 /" \
+ -e "s/\(sunit=\)\([0-9]* blks,\)/\10 blks,/" \
+ -e "/.*crc=/d"
+}
+
# mkfs slightly smaller than that
echo "=== mkfs.xfs ==="
-mkfs.xfs -f -bsize=4096 -dagsize=76288719b,size=3905982455b -llazy-count=0 $tmpfile \
- | sed -e "s,^meta-data=.*isize,meta-data=FILE isize,g" \
- -e "s/\(^log.*blocks=\)\([0-9]*,\)/\1XXXXX,/" \
- -e "s/, projid32bit=[0-9]//" \
- -e "s/ ftype=[0-9]//" \
- -e "/.*crc=/d"
+mkfs.xfs -f -bsize=4096 -dagsize=76288719b,size=3905982455b \
+ -llazy-count=0 $tmpfile | mkfs_filter
mount -o loop $tmpfile $tmpdir || _fail "!!! failed to loopback mount"
# see what happens when we growfs it
echo "=== xfs_growfs ==="
-xfs_growfs $tmpdir \
- | sed -e "s,^meta-data=.*isize,meta-data=FILE isize,g" \
- -e "s/\(^log.*blocks=\)\([0-9]*,\)/\1XXXXX,/" \
- -e "s/, projid32bit=[0-9]//" \
- -e "s/ ftype=[0-9]//" \
- -e "/.*crc=/d"
+xfs_growfs $tmpdir | mkfs_filter
# and double-check the new geometry
echo "=== xfs_info ==="
-xfs_info $tmpdir \
- | sed -e "s,^meta-data=.*isize,meta-data=FILE isize,g" \
- -e "s/\(^log.*blocks=\)\([0-9]*,\)/\1XXXXX,/" \
- -e "s/, projid32bit=[0-9]//" \
- -e "s/ ftype=[0-9]//" \
- -e "/.*crc=/d"
+xfs_info $tmpdir | mkfs_filter
# _cleanup cleans up for us