From 72ed2ef652be536c6752febf4f03cfc5d343e520 Mon Sep 17 00:00:00 2001 From: "Brian C. Lane" Date: Mon, 29 Feb 2016 14:31:35 -0800 Subject: [PATCH] tests: Fix t1700 failing on a host with a 4k xfs filesystem (#1260664) The problem is that mkfs.xfs won't work if the file it is trying to create is on a filesystem with a sector size larger than the passed -ssize value. So a host with 4k disks (eg. s390) and the xfs filesystem will fail with the error message: illegal sector size 512; hw sector is 4096 Failures setting up the environment for the test aren't parted bugs. This stops treating mkfs and dd errors as test failures, skipping the fs and logging a warning. Related: rhbz#1260664 --- tests/t1700-probe-fs.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/t1700-probe-fs.sh b/tests/t1700-probe-fs.sh index 83e6be4..2b59307 100755 --- a/tests/t1700-probe-fs.sh +++ b/tests/t1700-probe-fs.sh @@ -30,13 +30,13 @@ for type in ext2 ext3 ext4 btrfs xfs nilfs2; do case $type in ext*) n_sectors=8000 force=-F;; *) n_sectors=$((512*1024)) force=;; esac - # create an $type file system - if [ "$type" == "xfs" ]; then - # Work around a problem with s390 - mkfs.xfs -ssize=$ss -dfile,name=$dev,size=${n_sectors}s || fail=1 + # create an $type file system, creation failures are not parted bugs, + # skip the filesystem instead of failing the test. + if [ "$type" = "xfs" ]; then + mkfs.xfs -ssize=$ss -dfile,name=$dev,size=${n_sectors}s || { warn_ "$ME: mkfs.$type failed, skipping"; continue; } else - dd if=/dev/zero of=$dev bs=$ss count=$n_sectors >/dev/null || fail=1 - mkfs.$type $force $dev || { warn_ $ME: mkfs.$type failed; fail=1; continue; } + dd if=/dev/null of=$dev bs=$ss seek=$n_sectors >/dev/null || { warn_ "$ME: dd failed, skipping $type"; continue; } + mkfs.$type $force $dev || { warn_ "$ME: mkfs.$type failed skipping"; continue; } fi # probe the $type file system @@ -48,7 +48,7 @@ done # Some features should indicate ext4 by themselves. for feature in uninit_bg flex_bg; do # create an ext3 file system - dd if=/dev/zero of=$dev bs=1024 count=4096 >/dev/null || fail=1 + dd if=/dev/null of=$dev bs=1024 seek=4096 >/dev/null || skip_ "dd failed" mkfs.ext3 -F $dev >/dev/null || skip_ "mkfs.ext3 failed" # set the feature -- 2.5.0