@@ -1887,3 +1887,16 @@ _scratch_xfs_find_metafile()
echo "inode $sb_field"
return 0
}
+
+# Force metadata directories off.
+_scratch_xfs_force_no_metadir()
+{
+ if echo "$MKFS_OPTIONS" | grep -q 'metadir='; then
+ MKFS_OPTIONS="$(echo "$MKFS_OPTIONS" | sed -e 's/metadir=[0-9]*/metadir=0/g' -e 's/metadir\([, ]\)/metadir=0\1/g')"
+ return
+ fi
+
+ if grep -q 'metadir=' $MKFS_XFS_PROG; then
+ MKFS_OPTIONS="-m metadir=0 $MKFS_OPTIONS"
+ fi
+}
@@ -48,6 +48,7 @@ _check_ag()
_require_scratch
_require_no_large_scratch_dev
+_scratch_xfs_force_no_metadir
DSIZE="-dsize=100m,agcount=6"
@@ -51,6 +51,7 @@ _filter_bad_ids()
_require_scratch
_require_no_large_scratch_dev
+_scratch_xfs_force_no_metadir
# devzero blows away 512byte blocks, so make 512byte inodes (at least)
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs >/dev/null
@@ -50,6 +50,7 @@ _dd_repair_check()
# fix filesystem, new mkfs.xfs will be fine.
_require_scratch
+_scratch_xfs_force_no_metadir
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
# By executing the followint tmp file, will get on the mkfs options stored in