xfstests 258: Test xfs fs creation with fs size close to 4 TB
Eric Sandeen
sandeen at redhat.com
Mon Sep 26 10:59:47 CDT 2011
On 9/26/11 6:44 AM, Christoph Hellwig wrote:
> This one actually fails for me in a 32-bit userspace VM:
>
> --- 259.out 2011-09-26 09:14:39.000000000 +0000
> +++ 259.out.bad 2011-09-26 11:22:44.000000000 +0000
> @@ -1,7 +1,157 @@
> QA output created by 259
> Trying to make 4398046511103 B long xfs fs image
> +dd failed
> +can't get size of data subvolume
> +Usage: mkfs.xfs
> +/* blocksize */ [-b log=n|size=num]
>
> ...
>
> When removing the dd output redirection thus turn into a:
>
> +dd: failed to truncate to 4398046509056 bytes in output file `/259.image': File too large
>
> As it turns out testfile is assigned to early in the test, and we thus
> create the images on the root filesystem.
Oh hell.
Thanks for fixing :(
> ---
> From: Christoph Hellwig <hch at lst.de>
> Subject: [PATCH] xfstests: fix test 259
>
> Move the assignment of testfile after the sourcing of the common.* files to
> make sure TEST_DIR is already defined - without this we end up creating
> the file on the root filesystem, which may not support large enough files.
>
> Also add a sync after the mkfs.xfs invocation, as losetup -d might fail
> the loop device deletion with -EBUSY otherwise.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
>
> Index: xfstests-dev/259
> ===================================================================
> --- xfstests-dev.orig/259 2011-09-26 11:29:17.000000000 +0000
> +++ xfstests-dev/259 2011-09-26 11:32:54.000000000 +0000
> @@ -29,8 +29,6 @@ echo "QA output created by $seq"
>
> status=1 # failure is the default!
>
> -testfile=$TEST_DIR/259.image
> -
> _cleanup()
> {
> rm -f "$testfile"
> @@ -45,6 +43,8 @@ trap "_cleanup ; exit \$status" 0 1 2 3
> _supported_fs xfs
> _supported_os Linux
>
> +testfile=$TEST_DIR/259.image
> +
> # Test various sizes slightly less than 4 TB
> # 4398046511103 = 2^42 - 1
> # 4398046510592 = 2^42 - 512
> @@ -63,6 +63,7 @@ do
> lofile=$(losetup -f)
> losetup $lofile "$testfile"
> "$MKFS_XFS_PROG" -b size=512 $lofile >/dev/null || echo "mkfs failed!"
> + sync
> losetup -d $lofile
> done
>
More information about the xfs
mailing list