xfs
[Top] [All Lists]

Re: xfstests 258: Test xfs fs creation with fs size close to 4 TB

To: Boris Ranto <branto@xxxxxxxxxx>
Subject: Re: xfstests 258: Test xfs fs creation with fs size close to 4 TB
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 26 Sep 2011 07:44:58 -0400
Cc: xfs-oss <xfs@xxxxxxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxx>
In-reply-to: <1316613160.781.8.camel@xxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <1316613160.781.8.camel@xxxxxxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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.

---
From: Christoph Hellwig <hch@xxxxxx>
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@xxxxxx>

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
 

<Prev in Thread] Current Thread [Next in Thread>