# Force metadata directories off.
_scratch_xfs_force_no_metadir()
{
+ # metadir is required for when the rt device is on a zoned device
+ if [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_RTDEV" ]; then
+ _require_non_zoned_device $SCRATCH_RTDEV
+ fi
+
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
if grep -q 'metadir=' $MKFS_XFS_PROG; then
MKFS_OPTIONS="-m metadir=0 $MKFS_OPTIONS"
fi
+
+ # zoned requires metadir
+ if grep -q 'zoned=' $MKFS_XFS_PROG; then
+ MKFS_OPTIONS="-m zoned=0 $MKFS_OPTIONS"
+ fi
}
# Decide if a mount filesystem has metadata directory trees.
grep -E -v 'bad user id 0xffffffff|bad group id 0xffffffff'
}
-# RT requires metadir (this needs a better check..)
-_require_non_zoned_device $SCRATCH_RTDEV
-
_require_scratch
_require_no_large_scratch_dev
_scratch_xfs_force_no_metadir
_require_scratch
_scratch_xfs_force_no_metadir
-# zoned requires metadir.
-# XXX: this should probably go into _scratch_xfs_force_no_metadir
-_require_non_zoned_device $SCRATCH_RTDEV
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs