@@ -15,11 +15,18 @@ _xfs_mkfs_and_mount() {
local mount_dir=$2
local bs=$(_min_io $bdev)
local xfs_logsize="64m"
+ local sysfs="/sys/block/${bdev#/dev/}"
+ local logical_block_size=$(cat $sysfs/queue/logical_block_size)
if [[ $bs -gt 4096 ]]; then
xfs_logsize="128m"
fi
+ if [[ $logical_block_size -gt 32768 ]]; then
+ SKIP_REASONS+=("max sector size for XFS is 32768 but device $bdev has a larger sector size $logical_block_size")
+ return 1
+ fi
+
mkdir -p "${mount_dir}"
umount "${mount_dir}"
mkfs.xfs -l size=$xfs_logsize -f "${bdev}" -b size=$bs || return $?
mkfs.xfs will use the sector size exposed by the device, if this is larger than 32k this will fail as the largest sector size on XFS is 32k. Provide a sanity check to ensure we skip creating a filesystem if the sector size is larger than what XFS supports. Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> --- common/xfs | 7 +++++++ 1 file changed, 7 insertions(+)