Re: [PATCH 04/10] xfstests: use preallocation for ag-wiper

Rich Johnston
2012-08-28T14:01:14Z

[-- Attachment #1: Type: text/plain, Size: 2957 bytes --]

On 07/26/2012 03:39 AM, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> To enable sane testing of large scale filesystems, the --large-fs
> test option uses xfs_db magic to mark AGs full without doing any IO.
> This leaves only a small amount of free space left in the filesystem
> to stress the high AGs of the filesystem rather than the low AGs.
>
> This method requires us to have special filesystem check options to
> avoid free space checking in xfs_check, and we cannot current run
> xfs_repair on such a filesystem at all. As it is, free space
> checking on xfs_check does not scale, so we still need to avoid this
> checking regardless of how we fill the filesystem.
>
> We can acheive exactly the same fill behaviour by preallocating a
> single large file in the filesystem immediately after creating it.
> This is a filesystem independent manner of filling the filesystem,
> and allows us to do large filesystem testing on more than just XFS.
>
> Further, this preallocation method effectively adds a new "very
> large file" test. It also enables us to run an unmodified xfs_repair
> or filesystem specific fsck program to check the filesystem for
> sanity, so we can now do full sanity checking of such large
> filesystems.
>
> Signed-off-by: Dave Chinner <dchinner@redhat.com>
> ---
> common.rc | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
> 1 file changed, 53 insertions(+), 5 deletions(-)
>
> diff --git a/common.rc b/common.rc
> index b0af482..7bb1133 100644
> --- a/common.rc
> +++ b/common.rc
> @@ -276,6 +276,47 @@ _scratch_mkfs_options()
> echo $SCRATCH_OPTIONS $MKFS_OPTIONS $* $SCRATCH_DEV
> }
>
> +
> +_setup_large_xfs_fs()
> +{
> + fs_size=$1
> + local tmp_dir=/tmp/
> +
> + [ "$LARGE_SCRATCH_DEV" != yes ] && return 0
> + [ -z "$SCRATCH_DEV_EMPTY_SPACE" ] && SCRATCH_DEV_EMPTY_SPACE=0
> + [ $SCRATCH_DEV_EMPTY_SPACE -ge $fs_size ] && return 0
> +
> + # calculate the size of the file we need to allocate.
> + # Default free space in the FS is 50GB, but you can specify more via
> + # SCRATCH_DEV_EMPTY_SPACE
> + file_size=$(($fs_size - 50*1024*1024*1024))
> + file_size=$(($file_size - $SCRATCH_DEV_EMPTY_SPACE))
> +
> + # mount the filesystem, create the file, unmount it
> + _scratch_mount 2>&1 >$tmp_dir/mnt.err
> + local status=$?
> + if [ $status -ne 0 ]; then
> + echo "mount failed"
> + cat $tmp_dir/mnt.err >&2
> + rm -f $tmp_dir/mnt.err
> + return $status
> + fi
> + rm -f $tmp_dir/mnt.err
> +
> + xfs_io -F -f \
> + -c "truncate $file_size" \
> + -c "falloc -k 0 $file_size" \
> + $SCRATCH_MNT/.use_space 2>&1 > /dev/null

Looks like patch 10 (exclude largefs fill files from dump tests) does
not ignore this file as it should when using xfsdump -e and chattr +d.
The following tests which are all in the auto group fail when using the
--large-fs option:
019 026-028 046 047 050 056 059 060 062-066

I have attached the specific error output.

Regards
--Rich

[-- Attachment #2: patch10.err --]
[-- Type: text/plain, Size: 35601 bytes --]

./check 019 026-028 046 047 050 056 059 060 062-066
FSTYP -- xfs (non-debug)
PLATFORM -- Linux/x86_64 cxfsxe4 3.6.0-rc1-0.9-default
MKFS_OPTIONS -- -f -bsize=4096 /dev/sdc1
MOUNT_OPTIONS -- /dev/sdc1 /xfs_scratch

019 10s
026 21s
027 22s
028 32s
046 20s
047 31s
050 81s
056 20s
059 31s
060 31s
062 10s
063 22s
064 73s
065 51s
066 10s
Ran: 019 026 027 028 046 047 050 056 059 060 062 063 064 065 066
Passed all 15 tests

./check --large-fs 019 026-028 046 047 050 056 059 060 062-066
FSTYP -- xfs (non-debug)
PLATFORM -- Linux/x86_64 cxfsxe4 3.6.0-rc1-0.9-default
MKFS_OPTIONS -- -f -bsize=4096 /dev/sdc1
MOUNT_OPTIONS -- /dev/sdc1 /xfs_scratch

019 10s ... - output mismatch (see 019.out.bad)
--- 019.out 2012-08-15 15:01:39.000000000 -0500
+++ 019.out.bad 2012-08-28 08:38:08.000000000 -0500
@@ -9,6 +9,11 @@
Mode: (0777/drwxrwxrwx) Uid: (3) Gid: (1)
Device: <DEVICE> Inode: <INODE> Links: 3

+ File: "./.use_space"
+ Size: 6312890368 Filetype: Regular File
+ Mode: (0600/-rw-------) Uid: (0) Gid: (0)
+Device: <DEVICE> Inode: <INODE> Links: 1
+
File: "./bigfile"
Size: 2097152 Filetype: Regular File
Mode: (0666/-rw-rw-rw-) Uid: (3) Gid: (0)
026 21s ... - output mismatch (see 026.out.bad)
--- 026.out 2012-08-15 15:01:39.000000000 -0500
+++ 026.out.bad 2012-08-28 08:38:34.000000000 -0500
@@ -9,6 +9,7 @@
xfsdump: session id: ID
xfsdump: session label: "stress_026"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: /var/xfsdump/inventory created
@@ -28,12 +29,13 @@
xfsrestore: searching media for directory dump
xfsrestore: examining media file 0
xfsrestore: reading directories
-xfsrestore: 3 directories and 38 entries processed
+xfsrestore: 3 directories and 39 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
xfsrestore: Restore Status: SUCCESS
Comparing dump directory with restore directory
+Only in SCRATCH_MNT: .use_space
Files DUMP_DIR/big and RESTORE_DIR/DUMP_SUBDIR/big are identical
Files DUMP_DIR/small and RESTORE_DIR/DUMP_SUBDIR/small are identical
Files DUMP_DIR/sub/a and RESTORE_DIR/DUMP_SUBDIR/sub/a are identical
027 22s ... ... - output mismatch (see 027.out.bad)
--- 027.out 2012-08-15 15:01:39.000000000 -0500
+++ 027.out.bad 2012-08-28 08:39:00.000000000 -0500
@@ -19,7 +19,7 @@
xfsrestore: media ID: ID
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 3 directories and 39 entries processed
+xfsrestore: 3 directories and 40 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
028 32s ... - output mismatch (see 028.out.bad)
--- 028.out 2012-08-15 15:01:39.000000000 -0500
+++ 028.out.bad 2012-08-28 08:39:36.000000000 -0500
@@ -7,6 +7,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.0"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: /var/xfsdump/inventory created
@@ -27,6 +28,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.1"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
@@ -46,6 +48,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.2"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
@@ -65,6 +68,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.3"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
@@ -84,6 +88,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.4"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
046 20s ... - output mismatch (see 046.out.bad)
--- 046.out 2012-08-15 15:01:39.000000000 -0500
+++ 046.out.bad 2012-08-28 08:40:00.000000000 -0500
@@ -9,6 +9,7 @@
xfsdump: session id: ID
xfsdump: session label: "stress_046"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: /var/xfsdump/inventory created
@@ -28,7 +29,7 @@
xfsrestore: searching media for directory dump
xfsrestore: examining media file 0
xfsrestore: reading directories
-xfsrestore: 3 directories and 10 entries processed
+xfsrestore: 3 directories and 11 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
047 31s ... - output mismatch (see 047.out.bad)
--- 047.out 2012-08-15 15:01:39.000000000 -0500
+++ 047.out.bad 2012-08-28 08:40:37.000000000 -0500
@@ -7,6 +7,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.0"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: /var/xfsdump/inventory created
@@ -27,6 +28,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.1"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
@@ -46,6 +48,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.2"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
@@ -65,6 +68,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.3"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
@@ -84,6 +88,7 @@
xfsdump: session id: ID
xfsdump: session label: "session.4"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
050 81s ... - output mismatch (see 050.out.bad)
--- 050.out 2012-08-15 15:01:39.000000000 -0500
+++ 050.out.bad 2012-08-28 08:42:03.000000000 -0500
@@ -8,26 +8,26 @@
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX

*** report no quota settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]

*** report initial settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft inode limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft block limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [7 days] 4 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the hard inode limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]

*** push past the hard block limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] =OK= 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]

*** unmount
@@ -40,26 +40,26 @@
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX

*** report no quota settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]

*** report initial settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft inode limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft block limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [7 days] 4 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the hard inode limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]

*** push past the hard block limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] =OK= 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]

*** unmount
@@ -72,26 +72,26 @@
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX

*** report no quota settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]

*** report initial settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft inode limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft block limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [--------] 4 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the hard inode limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [--------] 16 4 10 00 [--none--] 0 0 0 00 [--------]

*** push past the hard block limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 540 100 500 00 [--none--] 16 4 10 00 [--none--] 0 0 0 00 [--------]

*** unmount
@@ -104,26 +104,26 @@
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX

*** report no quota settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]

*** report initial settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft inode limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft block limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [--------] 4 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the hard inode limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [--------] 16 4 10 00 [--none--] 0 0 0 00 [--------]

*** push past the hard block limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 540 100 500 00 [--none--] 16 4 10 00 [--none--] 0 0 0 00 [--------]

*** unmount
@@ -136,26 +136,26 @@
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX

*** report no quota settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]

*** report initial settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft inode limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft block limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [7 days] 4 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the hard inode limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [7 days] 9 4 10 00 [7 days] 0 0 0 00 [--------]

*** push past the hard block limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] =OK= 100 500 00 [7 days] 9 4 10 00 [7 days] 0 0 0 00 [--------]

*** unmount
@@ -168,26 +168,26 @@
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX

*** report no quota settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]

*** report initial settings
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft inode limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the soft block limit
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [--------] 4 4 10 00 [--------] 0 0 0 00 [--------]

*** push past the hard inode limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 140 100 500 00 [--------] 16 4 10 00 [--none--] 0 0 0 00 [--------]

*** push past the hard block limit (expect EDQUOT)
-[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
+[ROOT] 0 0 0 00 [--------] 4 0 0 00 [--------] 0 0 0 00 [--------]
[NAME] 540 100 500 00 [--none--] 16 4 10 00 [--none--] 0 0 0 00 [--------]

*** unmount
056 20s ... - output mismatch (see 056.out.bad)
--- 056.out 2012-08-15 15:01:39.000000000 -0500
+++ 056.out.bad 2012-08-28 08:42:28.000000000 -0500
@@ -9,6 +9,7 @@
xfsdump: session id: ID
xfsdump: session label: "stress_056"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: /var/xfsdump/inventory created
@@ -28,7 +29,7 @@
xfsrestore: searching media for directory dump
xfsrestore: examining media file 0
xfsrestore: reading directories
-xfsrestore: 7 directories and 11 entries processed
+xfsrestore: 7 directories and 12 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
059 31s ... - output mismatch (see 059.out.bad)
--- 059.out 2012-08-15 15:01:39.000000000 -0500
+++ 059.out.bad 2012-08-28 08:43:01.000000000 -0500
@@ -12,6 +12,7 @@
xfsdump: session id: ID
xfsdump: session label: "stress_059"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: stream 0: ino INO offset NUM to ino INO offset NUM
xfsdump: stream 1: ino INO offset NUM to ino INO offset NUM
xfsdump: stream 2: ino INO offset NUM to ino INO offset NUM
@@ -34,6 +35,7 @@
Comparing listing of dump directory with restore directory
Files TMP.dump_dir and TMP.restore_dir are identical
Comparing dump directory with restore directory
+Only in SCRATCH_MNT: .use_space
Files DUMP_DIR/big and RESTORE_DIR/DUMP_SUBDIR/big are identical
Files DUMP_DIR/large000 and RESTORE_DIR/DUMP_SUBDIR/large000 are identical
Files DUMP_DIR/large111 and RESTORE_DIR/DUMP_SUBDIR/large111 are identical
060 31s ... - output mismatch (see 060.out.bad)
--- 060.out 2012-08-15 15:01:39.000000000 -0500
+++ 060.out.bad 2012-08-28 08:43:33.000000000 -0500
@@ -12,6 +12,7 @@
xfsdump: session id: ID
xfsdump: session label: "stress_060"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: stream 0: ino INO offset NUM to ino INO offset NUM
xfsdump: stream 1: ino INO offset NUM to ino INO offset NUM
xfsdump: stream 2: ino INO offset NUM to ino INO offset NUM
@@ -42,7 +43,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 3 directories and 41 entries processed
+xfsrestore: 3 directories and 42 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: NOTE: restore interrupted: SECS seconds elapsed: may resume later using -R option
@@ -77,6 +78,7 @@
Comparing listing of dump directory with restore directory
Files TMP.dump_dir and TMP.restore_dir are identical
Comparing dump directory with restore directory
+Only in SCRATCH_MNT: .use_space
Files DUMP_DIR/big and RESTORE_DIR/DUMP_SUBDIR/big are identical
Files DUMP_DIR/large000 and RESTORE_DIR/DUMP_SUBDIR/large000 are identical
Files DUMP_DIR/large111 and RESTORE_DIR/DUMP_SUBDIR/large111 are identical
062 10s ... - output mismatch (see 062.out.bad)
--- 062.out 2012-08-15 15:01:39.000000000 -0500
+++ 062.out.bad 2012-08-28 08:43:47.000000000 -0500
@@ -1,6 +1,7 @@
QA output created by 062
*** create test bed
SCRATCH_MNT
+SCRATCH_MNT/.use_space
SCRATCH_MNT/dev
SCRATCH_MNT/dev/b
SCRATCH_MNT/dev/c
@@ -492,6 +493,7 @@

*** extend test bed
SCRATCH_MNT
+SCRATCH_MNT/.use_space
SCRATCH_MNT/descend
SCRATCH_MNT/descend/and
SCRATCH_MNT/descend/down
063 22s ... - output mismatch (see 063.out.bad)
--- 063.out 2012-08-15 15:01:39.000000000 -0500
+++ 063.out.bad 2012-08-28 08:44:13.000000000 -0500
@@ -19,6 +19,7 @@
xfsdump: session id: ID
xfsdump: session label: "stress_063"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: /var/xfsdump/inventory created
@@ -38,7 +39,7 @@
xfsrestore: searching media for directory dump
xfsrestore: examining media file 0
xfsrestore: reading directories
-xfsrestore: 4 directories and 21 entries processed
+xfsrestore: 4 directories and 22 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
064 73s ... - output mismatch (see 064.out.bad)
--- 064.out 2012-08-15 15:01:39.000000000 -0500
+++ 064.out.bad 2012-08-28 08:45:31.000000000 -0500
@@ -54,6 +54,7 @@
xfsdump: session id: ID
xfsdump: session label: "stress_064"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: /var/xfsdump/inventory created
@@ -314,7 +315,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -395,7 +396,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -428,7 +429,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -461,7 +462,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -494,7 +495,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -527,7 +528,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -560,7 +561,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -593,7 +594,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -626,7 +627,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -659,7 +660,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -693,7 +694,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -774,7 +775,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -855,7 +856,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -936,7 +937,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -1017,7 +1018,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -1098,7 +1099,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -1179,7 +1180,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -1260,7 +1261,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -1341,7 +1342,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -1422,7 +1423,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 55 entries processed
+xfsrestore: 2 directories and 56 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
065 51s ... - output mismatch (see 065.out.bad)
--- 065.out 2012-08-15 15:01:39.000000000 -0500
+++ 065.out.bad 2012-08-28 08:46:26.000000000 -0500
@@ -19,6 +19,7 @@
xfsdump: session id: ID
xfsdump: session label: "stress_065"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: /var/xfsdump/inventory created
@@ -257,7 +258,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 6 directories and 11 entries processed
+xfsrestore: 6 directories and 12 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -290,7 +291,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 6 entries processed
+xfsrestore: 2 directories and 7 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -317,7 +318,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 4 directories and 7 entries processed
+xfsrestore: 4 directories and 8 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -346,7 +347,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 3 directories and 11 entries processed
+xfsrestore: 3 directories and 12 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -380,7 +381,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 3 directories and 7 entries processed
+xfsrestore: 3 directories and 8 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -410,7 +411,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 5 entries processed
+xfsrestore: 2 directories and 6 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -441,7 +442,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 5 entries processed
+xfsrestore: 2 directories and 6 entries processed
xfsrestore: directory post-processing
xfsrestore: reading non-directory files
xfsrestore: table of contents display complete: SECS seconds elapsed
@@ -525,7 +526,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 6 directories and 11 entries processed
+xfsrestore: 6 directories and 12 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -562,7 +563,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 6 entries processed
+xfsrestore: 2 directories and 7 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -595,7 +596,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 4 directories and 7 entries processed
+xfsrestore: 4 directories and 8 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -628,7 +629,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 3 directories and 11 entries processed
+xfsrestore: 3 directories and 12 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -665,7 +666,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 3 directories and 7 entries processed
+xfsrestore: 3 directories and 8 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -698,7 +699,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 5 entries processed
+xfsrestore: 2 directories and 6 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
@@ -729,7 +730,7 @@
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
-xfsrestore: 2 directories and 5 entries processed
+xfsrestore: 2 directories and 6 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
066 10s ... - output mismatch (see 066.out.bad)
--- 066.out 2012-08-15 15:01:39.000000000 -0500
+++ 066.out.bad 2012-08-28 08:46:41.000000000 -0500
@@ -12,6 +12,7 @@
xfsdump: session id: ID
xfsdump: session label: "stress_066"
xfsdump: ino map <PHASES>
+xfsdump: NOTE: pruned 1 files: skip attribute set
xfsdump: ino map construction complete
xfsdump: estimated dump size: NUM bytes
xfsdump: /var/xfsdump/inventory created
@@ -31,7 +32,7 @@
xfsrestore: searching media for directory dump
xfsrestore: examining media file 0
xfsrestore: reading directories
-xfsrestore: 2 directories and 2 entries processed
+xfsrestore: 2 directories and 3 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: SECS seconds elapsed
Ran: 019 026 027 028 046 047 050 056 059 060 062 063 064 065 066
Failures: 019 026 027 028 046 047 050 056 059 060 062 063 064 065 066
Failed 15 of 15 tests

[-- Attachment #3: Type: text/plain, Size: 121 bytes --]