* [PATCH 0/2 V3] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost
@ 2013-10-11 4:19 rjohnston
2013-10-11 4:19 ` [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: rjohnston @ 2013-10-11 4:19 UTC (permalink / raw)
To: xfs
Extended attributes are lost after multi-stream xfsdump/xfsrestore
of wholly-sparse files. This can happen in two ways:
1 - The restore succeeds, however the extended attributes are lost
2 - The restore in not successful because xfsrestore segfaults
with the following warning:
"partial_reg: Out of records. Extend attrs applied early."
---
Changelog
V2:
Updated test description and comments
Changed test status to default to failure
Added missing _requires_XXXX statements
Removed the attr root (-R) namespace argument
V3:
Split into 2 tests and used functions from the common
directory where appropriate.
--Rich
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore
2013-10-11 4:19 [PATCH 0/2 V3] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
@ 2013-10-11 4:19 ` rjohnston
2013-10-18 18:40 ` Eric Sandeen
2013-10-11 4:19 ` [PATCH 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early rjohnston
2013-10-21 20:02 ` [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
2 siblings, 1 reply; 16+ messages in thread
From: rjohnston @ 2013-10-11 4:19 UTC (permalink / raw)
To: xfs
[-- Attachment #1: xfstests-verify-extended-attributes-after-multi-stream-xfsdump-xfsrestore.patch --]
[-- Type: text/plain, Size: 4032 bytes --]
Verify extended attributes are not lost after multi-stream
xfsdump/xfsrestore of wholly-sparse files. The restore succeeds,
however the extended attributes for that file are lost.
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
diff --git a/tests/xfs/350 b/tests/xfs/350
new file mode 100755
index 0000000..88943e4
--- /dev/null
+++ b/tests/xfs/350
@@ -0,0 +1,72 @@
+#! /bin/bash
+# FS QA Test No. 350
+#
+# Verify multi-stream xfsdump/restore preserves extended attributes
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2013 Red Hat, Inc. All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1 # failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+ cd /
+ rm -f $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+. ./common/filter
+. ./common/dump
+. ./common/attr
+
+# real QA test starts here
+
+# Modify as appropriate.
+_supported_fs xfs
+_supported_os Linux
+_require_scratch
+
+# Extended attributes
+attr_name=attrname
+attr_value=1234
+
+rm -f $seqres.full
+
+_create_dumpdir_fill_ea 2>&1 >> $seqres.full
+
+# Create and add wholly-sparse file to the dump directory
+$XFS_IO_PROG -f -c "truncate 1t" $dump_dir/sparsefile 2>&1 >> $seqres.full ||
+_fail "could not create \"$dump_dir\"/sparsefile"
+
+# Set the xattr on sparsefile
+$ATTR_PROG -s $attr_name -V $attr_value $dump_dir/sparsefile 2>&1 >> $seqres.full || _fail "could not set ATTR for \"$dump_dir\"/sparsefile"
+
+_do_dump_multi_file --multi 4 2>&1 >> $seqres.full
+_do_restore_multi_file --multi 4 2>&1 >> $seqres.full
+_diff_compare_eas
+
+status=0
+exit
diff --git a/tests/xfs/350.out b/tests/xfs/350.out
new file mode 100644
index 0000000..6798ded
--- /dev/null
+++ b/tests/xfs/350.out
@@ -0,0 +1,34 @@
+QA output created by 350
+Comparing dump directory with restore directory
+Looking at the extended attributes (EAs)
+EAs on dump
+User names
+Attribute "attr5" had a 8 byte value for DUMP_DIR/dir:
+dir_text
+Attribute "attr1" had a 9 byte value for DUMP_DIR/smalll:
+some_text
+Attribute "attrname" had a 4 byte value for DUMP_DIR/sparsefile:
+1234
+Attribute "attr3" had a 10 byte value for DUMP_DIR/sub/smalll:
+some_text3
+Root names
+Attribute "attr2" had a 10 byte value for DUMP_DIR/biggg:
+some_text2
+Attribute "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
+some_text4
+EAs on restore
+User names
+Attribute "attr5" had a 8 byte value for DUMP_DIR/dir:
+dir_text
+Attribute "attr1" had a 9 byte value for DUMP_DIR/smalll:
+some_text
+Attribute "attrname" had a 4 byte value for DUMP_DIR/sparsefile:
+1234
+Attribute "attr3" had a 10 byte value for DUMP_DIR/sub/smalll:
+some_text3
+Root names
+Attribute "attr2" had a 10 byte value for DUMP_DIR/biggg:
+some_text2
+Attribute "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
+some_text4
+Files 350.ea1 and 350.ea2 are identical
diff --git a/tests/xfs/group b/tests/xfs/group
index 352a4c5..2cd3cf0 100644
--- a/tests/xfs/group
+++ b/tests/xfs/group
@@ -179,3 +179,4 @@
297 auto freeze
298 auto attr symlink quick
299 auto quota
+350 dump auto
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early
2013-10-11 4:19 [PATCH 0/2 V3] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
2013-10-11 4:19 ` [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
@ 2013-10-11 4:19 ` rjohnston
2013-10-18 18:53 ` Eric Sandeen
2013-10-21 20:02 ` [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
2 siblings, 1 reply; 16+ messages in thread
From: rjohnston @ 2013-10-11 4:19 UTC (permalink / raw)
To: xfs
[-- Attachment #1: xfstests-multi-stream-xfsdump-xfsrestore-of-wholly-sparse-files.patch --]
[-- Type: text/plain, Size: 3077 bytes --]
Multi-stream xfsdump/xfsrestore of more than partialmax wholly-sparse
files segfaults with the following warning:
"partial_reg: Out of records. Extend attrs applied early."
Add a test that dumps and restores partialmax + 1 wholly-sparse files.
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
diff --git a/tests/xfs/351 b/tests/xfs/351
new file mode 100755
index 0000000..43b14c2
--- /dev/null
+++ b/tests/xfs/351
@@ -0,0 +1,71 @@
+#! /bin/bash
+# FS QA Test No. 351
+#
+# Dump and restore partialmax + 1 wholly-sparse files
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2013 SGI. All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1 # failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+ cd /
+ rm -f $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+. ./common/filter
+. ./common/dump
+
+# real QA test starts here
+
+# Modify as appropriate.
+_supported_fs xfs
+_supported_os Linux
+_require_scratch
+#dump_dir=/mnt/test/$dump_sdir
+
+rm -f $seqres.full
+rm -rf $restore_dir/*
+rm -f $tmp.stream?
+
+echo "Silence is golden."
+_wipe_fs
+mkdir $dump_dir 2>&1 >> $seqres.full || _fail "mkdir \"$dump_dir\" failed"
+for i in `seq 1 4`; do
+ $XFS_IO_PROG -f -c "truncate 1t" $dump_dir/sparsefile$i \
+ 2>&1 >> $seqres.full || _fail "failed to create sparsefile\"$i\""
+done
+# Dump and restore the files
+_prepare_restore_dir
+$XFSDUMP_PROG -L session -M label1 -M label2 -f $tmp.stream1 \
+ -f $tmp.stream2 $SCRATCH_MNT -s $dump_sdir \
+ 2>&1 >> $seqres.full || _fail "dump failed"
+$XFSRESTORE_PROG -F -f $tmp.stream1 -f $tmp.stream2 $restore_dir \
+ 2>&1 >> $seqres.full || _fail "restore failed"
+status=0
+exit
diff --git a/tests/xfs/351.out b/tests/xfs/351.out
new file mode 100644
index 0000000..42cf52e
--- /dev/null
+++ b/tests/xfs/351.out
@@ -0,0 +1,2 @@
+QA output created by 351
+Silence is golden.
diff --git a/tests/xfs/group b/tests/xfs/group
index 352a4c5..3e73f1d 100644
--- a/tests/xfs/group
+++ b/tests/xfs/group
@@ -179,3 +179,4 @@
297 auto freeze
298 auto attr symlink quick
299 auto quota
+351 auto dump
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore
2013-10-11 4:19 ` [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
@ 2013-10-18 18:40 ` Eric Sandeen
2013-10-18 18:47 ` Eric Sandeen
0 siblings, 1 reply; 16+ messages in thread
From: Eric Sandeen @ 2013-10-18 18:40 UTC (permalink / raw)
To: rjohnston; +Cc: xfs
On 10/10/13 11:19 PM, rjohnston@sgi.com wrote:
> Verify extended attributes are not lost after multi-stream
> xfsdump/xfsrestore of wholly-sparse files. The restore succeeds,
> however the extended attributes for that file are lost.
>
> Signed-off-by: Rich Johnston <rjohnston@sgi.com>
>
> diff --git a/tests/xfs/350 b/tests/xfs/350
> new file mode 100755
> index 0000000..88943e4
> --- /dev/null
> +++ b/tests/xfs/350
> @@ -0,0 +1,72 @@
> +#! /bin/bash
> +# FS QA Test No. 350
> +#
> +# Verify multi-stream xfsdump/restore preserves extended attributes
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (c) 2013 Red Hat, Inc. All Rights Reserved.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it would be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write the Free Software Foundation,
> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +#-----------------------------------------------------------------------
> +#
> +
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1 # failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> + cd /
> + rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +. ./common/dump
> +. ./common/attr
> +
> +# real QA test starts here
> +
> +# Modify as appropriate.
> +_supported_fs xfs
> +_supported_os Linux
> +_require_scratch
> +
> +# Extended attributes
> +attr_name=attrname
> +attr_value=1234
> +
> +rm -f $seqres.full
> +
> +_create_dumpdir_fill_ea 2>&1 >> $seqres.full
> +
> +# Create and add wholly-sparse file to the dump directory
> +$XFS_IO_PROG -f -c "truncate 1t" $dump_dir/sparsefile 2>&1 >> $seqres.full ||
> +_fail "could not create \"$dump_dir\"/sparsefile"
I . . guess that works w/o a continuation? I'd have done this; note also
the 2>&1 needs to go after the file redirect
(http://www.tldp.org/LDP/abs/html/io-redirection.html)
+$XFS_IO_PROG -f -c "truncate 1t" $dump_dir/sparsefile >> $seqres.full 2>&1 || \
+ _fail "could not create \"$dump_dir\"/sparsefile"
but my bash-fu is weak, so not sure about the continuation part. Can't hurt? :)
> +
> +# Set the xattr on sparsefile
> +$ATTR_PROG -s $attr_name -V $attr_value $dump_dir/sparsefile 2>&1 >> $seqres.full || _fail "could not set ATTR for \"$dump_dir\"/sparsefile"
same deal for the redirect: ">> $seqres.full 2>&1"
> +
> +_do_dump_multi_file --multi 4 2>&1 >> $seqres.full
> +_do_restore_multi_file --multi 4 2>&1 >> $seqres.full
">> $seqres.full 2>&1"
Nitpicks, I guess, but if you wouldn't mind one more round...
-Eric
> +_diff_compare_eas
> +
> +status=0
> +exit
> diff --git a/tests/xfs/350.out b/tests/xfs/350.out
> new file mode 100644
> index 0000000..6798ded
> --- /dev/null
> +++ b/tests/xfs/350.out
> @@ -0,0 +1,34 @@
> +QA output created by 350
> +Comparing dump directory with restore directory
> +Looking at the extended attributes (EAs)
> +EAs on dump
> +User names
> +Attribute "attr5" had a 8 byte value for DUMP_DIR/dir:
> +dir_text
> +Attribute "attr1" had a 9 byte value for DUMP_DIR/smalll:
> +some_text
> +Attribute "attrname" had a 4 byte value for DUMP_DIR/sparsefile:
> +1234
> +Attribute "attr3" had a 10 byte value for DUMP_DIR/sub/smalll:
> +some_text3
> +Root names
> +Attribute "attr2" had a 10 byte value for DUMP_DIR/biggg:
> +some_text2
> +Attribute "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
> +some_text4
> +EAs on restore
> +User names
> +Attribute "attr5" had a 8 byte value for DUMP_DIR/dir:
> +dir_text
> +Attribute "attr1" had a 9 byte value for DUMP_DIR/smalll:
> +some_text
> +Attribute "attrname" had a 4 byte value for DUMP_DIR/sparsefile:
> +1234
> +Attribute "attr3" had a 10 byte value for DUMP_DIR/sub/smalll:
> +some_text3
> +Root names
> +Attribute "attr2" had a 10 byte value for DUMP_DIR/biggg:
> +some_text2
> +Attribute "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
> +some_text4
> +Files 350.ea1 and 350.ea2 are identical
> diff --git a/tests/xfs/group b/tests/xfs/group
> index 352a4c5..2cd3cf0 100644
> --- a/tests/xfs/group
> +++ b/tests/xfs/group
> @@ -179,3 +179,4 @@
> 297 auto freeze
> 298 auto attr symlink quick
> 299 auto quota
> +350 dump auto
>
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore
2013-10-18 18:40 ` Eric Sandeen
@ 2013-10-18 18:47 ` Eric Sandeen
2013-10-18 22:46 ` Dave Chinner
0 siblings, 1 reply; 16+ messages in thread
From: Eric Sandeen @ 2013-10-18 18:47 UTC (permalink / raw)
To: rjohnston; +Cc: xfs
On 10/18/13 1:40 PM, Eric Sandeen wrote:
> On 10/10/13 11:19 PM, rjohnston@sgi.com wrote:
>> Verify extended attributes are not lost after multi-stream
>> xfsdump/xfsrestore of wholly-sparse files. The restore succeeds,
>> however the extended attributes for that file are lost.
>>
>> Signed-off-by: Rich Johnston <rjohnston@sgi.com>
>>
>> diff --git a/tests/xfs/350 b/tests/xfs/350
>> new file mode 100755
>> index 0000000..88943e4
>> --- /dev/null
>> +++ b/tests/xfs/350
>> @@ -0,0 +1,72 @@
>> +#! /bin/bash
>> +# FS QA Test No. 350
>> +#
>> +# Verify multi-stream xfsdump/restore preserves extended attributes
>> +#
>> +#-----------------------------------------------------------------------
>> +# Copyright (c) 2013 Red Hat, Inc. All Rights Reserved.
>> +#
>> +# This program is free software; you can redistribute it and/or
>> +# modify it under the terms of the GNU General Public License as
>> +# published by the Free Software Foundation.
>> +#
>> +# This program is distributed in the hope that it would be useful,
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>> +# GNU General Public License for more details.
>> +#
>> +# You should have received a copy of the GNU General Public License
>> +# along with this program; if not, write the Free Software Foundation,
>> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
>> +#-----------------------------------------------------------------------
>> +#
>> +
>> +seq=`basename $0`
>> +seqres=$RESULT_DIR/$seq
>> +echo "QA output created by $seq"
>> +
>> +here=`pwd`
>> +tmp=/tmp/$$
>> +status=1 # failure is the default!
>> +trap "_cleanup; exit \$status" 0 1 2 3 15
>> +
>> +_cleanup()
>> +{
>> + cd /
>> + rm -f $tmp.*
>> +}
>> +
>> +# get standard environment, filters and checks
>> +. ./common/rc
>> +. ./common/filter
>> +. ./common/dump
>> +. ./common/attr
>> +
>> +# real QA test starts here
>> +
>> +# Modify as appropriate.
>> +_supported_fs xfs
>> +_supported_os Linux
>> +_require_scratch
>> +
>> +# Extended attributes
>> +attr_name=attrname
>> +attr_value=1234
>> +
>> +rm -f $seqres.full
>> +
>> +_create_dumpdir_fill_ea 2>&1 >> $seqres.full
whoops here too. Tho I think _create_dumpdir_fill_ea already
does all the redirect you need.
Was going to say you need a scratch_mkfs & mount too, but
_create_dumpdir_fill_ea() does all that under the covers? Bleah!
Comment to that effect wouldn't hurt.
-Eric
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early
2013-10-11 4:19 ` [PATCH 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early rjohnston
@ 2013-10-18 18:53 ` Eric Sandeen
0 siblings, 0 replies; 16+ messages in thread
From: Eric Sandeen @ 2013-10-18 18:53 UTC (permalink / raw)
To: rjohnston; +Cc: xfs
On 10/10/13 11:19 PM, rjohnston@sgi.com wrote:
> Multi-stream xfsdump/xfsrestore of more than partialmax wholly-sparse
> files segfaults with the following warning:
>
> "partial_reg: Out of records. Extend attrs applied early."
>
> Add a test that dumps and restores partialmax + 1 wholly-sparse files.
>
> Signed-off-by: Rich Johnston <rjohnston@sgi.com>
>
> diff --git a/tests/xfs/351 b/tests/xfs/351
> new file mode 100755
> index 0000000..43b14c2
> --- /dev/null
> +++ b/tests/xfs/351
> @@ -0,0 +1,71 @@
> +#! /bin/bash
> +# FS QA Test No. 351
> +#
> +# Dump and restore partialmax + 1 wholly-sparse files
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (c) 2013 SGI. All Rights Reserved.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it would be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write the Free Software Foundation,
> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +#-----------------------------------------------------------------------
> +#
> +
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1 # failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> + cd /
> + rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +. ./common/dump
> +
> +# real QA test starts here
> +
> +# Modify as appropriate.
> +_supported_fs xfs
> +_supported_os Linux
> +_require_scratch
> +#dump_dir=/mnt/test/$dump_sdir
remove the commented-out line?
> +
> +rm -f $seqres.full
> +rm -rf $restore_dir/*
eek, who sets $restore_dir? Oh, sourcing common/dump does.
But nothing mounts $SCRATCH_DEV yet, right? So this seems
like a combination of incorrect, unnecessary & dangerous.
(_wipe_fs will re-mkfs anyway). I'd just remove it.
> +rm -f $tmp.stream?
$tmp is /tmp/<our pid>
so /tmp/<our pid>.stream *really* shouldn't exist, and cleanup
should have removed it from the last run (with a different pid).
But I suppose it doesn't hurt to be sure...
> +
> +echo "Silence is golden."
> +_wipe_fs
Ok, wipe_fs does mkfs & mount. Could you add a comment?
> +mkdir $dump_dir 2>&1 >> $seqres.full || _fail "mkdir \"$dump_dir\" failed"
same deal w/ the order of the redirects. More below too.
Otherwise looks ok.
-Eric
> +for i in `seq 1 4`; do
> + $XFS_IO_PROG -f -c "truncate 1t" $dump_dir/sparsefile$i \
> + 2>&1 >> $seqres.full || _fail "failed to create sparsefile\"$i\""
> +done
> +# Dump and restore the files
> +_prepare_restore_dir
> +$XFSDUMP_PROG -L session -M label1 -M label2 -f $tmp.stream1 \
> + -f $tmp.stream2 $SCRATCH_MNT -s $dump_sdir \
> + 2>&1 >> $seqres.full || _fail "dump failed"
> +$XFSRESTORE_PROG -F -f $tmp.stream1 -f $tmp.stream2 $restore_dir \
> + 2>&1 >> $seqres.full || _fail "restore failed"
> +status=0
> +exit
> diff --git a/tests/xfs/351.out b/tests/xfs/351.out
> new file mode 100644
> index 0000000..42cf52e
> --- /dev/null
> +++ b/tests/xfs/351.out
> @@ -0,0 +1,2 @@
> +QA output created by 351
> +Silence is golden.
> diff --git a/tests/xfs/group b/tests/xfs/group
> index 352a4c5..3e73f1d 100644
> --- a/tests/xfs/group
> +++ b/tests/xfs/group
> @@ -179,3 +179,4 @@
> 297 auto freeze
> 298 auto attr symlink quick
> 299 auto quota
> +351 auto dump
>
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore
2013-10-18 18:47 ` Eric Sandeen
@ 2013-10-18 22:46 ` Dave Chinner
2013-10-18 22:47 ` Eric Sandeen
0 siblings, 1 reply; 16+ messages in thread
From: Dave Chinner @ 2013-10-18 22:46 UTC (permalink / raw)
To: Eric Sandeen; +Cc: rjohnston, xfs
On Fri, Oct 18, 2013 at 01:47:21PM -0500, Eric Sandeen wrote:
> On 10/18/13 1:40 PM, Eric Sandeen wrote:
> > On 10/10/13 11:19 PM, rjohnston@sgi.com wrote:
> >> Verify extended attributes are not lost after multi-stream
> >> xfsdump/xfsrestore of wholly-sparse files. The restore succeeds,
> >> however the extended attributes for that file are lost.
> >>
> >> Signed-off-by: Rich Johnston <rjohnston@sgi.com>
> >>
> >> diff --git a/tests/xfs/350 b/tests/xfs/350
> >> new file mode 100755
> >> index 0000000..88943e4
> >> --- /dev/null
> >> +++ b/tests/xfs/350
> >> @@ -0,0 +1,72 @@
> >> +#! /bin/bash
> >> +# FS QA Test No. 350
> >> +#
> >> +# Verify multi-stream xfsdump/restore preserves extended attributes
> >> +#
> >> +#-----------------------------------------------------------------------
> >> +# Copyright (c) 2013 Red Hat, Inc. All Rights Reserved.
> >> +#
> >> +# This program is free software; you can redistribute it and/or
> >> +# modify it under the terms of the GNU General Public License as
> >> +# published by the Free Software Foundation.
> >> +#
> >> +# This program is distributed in the hope that it would be useful,
> >> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> >> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> >> +# GNU General Public License for more details.
> >> +#
> >> +# You should have received a copy of the GNU General Public License
> >> +# along with this program; if not, write the Free Software Foundation,
> >> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> >> +#-----------------------------------------------------------------------
> >> +#
> >> +
> >> +seq=`basename $0`
> >> +seqres=$RESULT_DIR/$seq
> >> +echo "QA output created by $seq"
> >> +
> >> +here=`pwd`
> >> +tmp=/tmp/$$
> >> +status=1 # failure is the default!
> >> +trap "_cleanup; exit \$status" 0 1 2 3 15
> >> +
> >> +_cleanup()
> >> +{
> >> + cd /
> >> + rm -f $tmp.*
> >> +}
> >> +
> >> +# get standard environment, filters and checks
> >> +. ./common/rc
> >> +. ./common/filter
> >> +. ./common/dump
> >> +. ./common/attr
> >> +
> >> +# real QA test starts here
> >> +
> >> +# Modify as appropriate.
> >> +_supported_fs xfs
> >> +_supported_os Linux
> >> +_require_scratch
> >> +
> >> +# Extended attributes
> >> +attr_name=attrname
> >> +attr_value=1234
> >> +
> >> +rm -f $seqres.full
> >> +
> >> +_create_dumpdir_fill_ea 2>&1 >> $seqres.full
>
> whoops here too. Tho I think _create_dumpdir_fill_ea already
> does all the redirect you need.
>
> Was going to say you need a scratch_mkfs & mount too, but
> _create_dumpdir_fill_ea() does all that under the covers? Bleah!
> Comment to that effect wouldn't hurt.
All the dump/restore tests do this. It's common code, so once you
know it for one, it's obvious for the rest. Hence addin a comment in
just this test would be kinda strange...
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore
2013-10-18 22:46 ` Dave Chinner
@ 2013-10-18 22:47 ` Eric Sandeen
0 siblings, 0 replies; 16+ messages in thread
From: Eric Sandeen @ 2013-10-18 22:47 UTC (permalink / raw)
To: Dave Chinner; +Cc: rjohnston, xfs
On 10/18/13 5:46 PM, Dave Chinner wrote:
> All the dump/restore tests do this. It's common code, so once you
> know it for one, it's obvious for the rest. Hence addin a comment in
> just this test would be kinda strange...
Meh, ok. So I have to know it, eh? ;)
Fine by me, then.
-Eric
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost
2013-10-11 4:19 [PATCH 0/2 V3] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
2013-10-11 4:19 ` [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
2013-10-11 4:19 ` [PATCH 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early rjohnston
@ 2013-10-21 20:02 ` rjohnston
2013-10-21 20:02 ` [PATCH V4 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
` (2 more replies)
2 siblings, 3 replies; 16+ messages in thread
From: rjohnston @ 2013-10-21 20:02 UTC (permalink / raw)
To: xfs
Extended attributes are lost after multi-stream xfsdump/xfsrestore
of wholly-sparse files. This can happen in two ways:
1 - The restore succeeds, however the extended attributes are lost
2 - The restore in not successful because xfsrestore segfaults
with the following warning:
"partial_reg: Out of records. Extend attrs applied
early."
---
Changelog
V2:
Updated test description and comments
Changed test status to default to failure
Added missing _requires_XXXX statements
Removed the attr root (-R) namespace argument
V3:
Split into 2 tests and used functions from the common
directory where appropriate.
--Rich
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH V4 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore
2013-10-21 20:02 ` [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
@ 2013-10-21 20:02 ` rjohnston
2013-10-23 21:03 ` Eric Sandeen
2013-10-24 0:14 ` Rich Johnston
2013-10-21 20:02 ` [PATCH V4 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early rjohnston
2013-10-21 20:07 ` [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost Rich Johnston
2 siblings, 2 replies; 16+ messages in thread
From: rjohnston @ 2013-10-21 20:02 UTC (permalink / raw)
To: xfs
Verify extended attributes are not lost after multi-stream
xfsdump/xfsrestore of wholly-sparse files. The restore succeeds,
however the extended attributes for that file are lost.
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
diff --git a/tests/xfs/350 b/tests/xfs/350
new file mode 100755
index 0000000..df4c258
--- /dev/null
+++ b/tests/xfs/350
@@ -0,0 +1,73 @@
+#! /bin/bash
+# FS QA Test No. 350
+#
+# Verify multi-stream xfsdump/restore preserves extended attributes
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2013 Red Hat, Inc. All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1 # failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+ cd /
+ rm -f $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+. ./common/filter
+. ./common/dump
+. ./common/attr
+
+# real QA test starts here
+
+# Modify as appropriate.
+_supported_fs xfs
+_supported_os Linux
+_require_scratch
+
+# Extended attributes
+attr_name=attrname
+attr_value=1234
+
+rm -f $seqres.full
+
+_create_dumpdir_fill_ea
+
+# Create and add wholly-sparse file to the dump directory
+$XFS_IO_PROG -f -c "truncate 1t" $dump_dir/sparsefile >> $seqres.full 2>&1 \
+ || _fail "could not create \"$dump_dir\"/sparsefile"
+
+# Set the xattr on sparsefile
+$ATTR_PROG -s $attr_name -V $attr_value $dump_dir/sparsefile >> $seqres.full 2>&1 \
+ || _fail "could not set ATTR for \"$dump_dir\"/sparsefile"
+
+_do_dump_multi_file --multi 4 >> $seqres.full 2>&1
+_do_restore_multi_file --multi 4 >> $seqres.full 2>&1
+_diff_compare_eas
+
+status=0
+exit
diff --git a/tests/xfs/350.out b/tests/xfs/350.out
new file mode 100644
index 0000000..31a88b8
--- /dev/null
+++ b/tests/xfs/350.out
@@ -0,0 +1,46 @@
+QA output created by 350
+Creating directory system to dump using src/fill.
+Setup Attribute "attr1" set to a 9 byte value for smalll:
+some_text
+.Attribute "attr2" set to a 10 byte value for biggg:
+some_text2
+.Attribute "attr3" set to a 10 byte value for sub/smalll:
+some_text3
+.Attribute "attr4" set to a 10 byte value for sub/biggg:
+some_text4
+.Attribute "attr5" set to a 8 byte value for dir:
+dir_text
+...............
+Comparing dump directory with restore directory
+Looking at the extended attributes (EAs)
+EAs on dump
+User names
+Attribute "attr5" had a 8 byte value for DUMP_DIR/dir:
+dir_text
+Attribute "attr1" had a 9 byte value for DUMP_DIR/smalll:
+some_text
+Attribute "attrname" had a 4 byte value for DUMP_DIR/sparsefile:
+1234
+Attribute "attr3" had a 10 byte value for DUMP_DIR/sub/smalll:
+some_text3
+Root names
+Attribute "attr2" had a 10 byte value for DUMP_DIR/biggg:
+some_text2
+Attribute "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
+some_text4
+EAs on restore
+User names
+Attribute "attr5" had a 8 byte value for DUMP_DIR/dir:
+dir_text
+Attribute "attr1" had a 9 byte value for DUMP_DIR/smalll:
+some_text
+Attribute "attrname" had a 4 byte value for DUMP_DIR/sparsefile:
+1234
+Attribute "attr3" had a 10 byte value for DUMP_DIR/sub/smalll:
+some_text3
+Root names
+Attribute "attr2" had a 10 byte value for DUMP_DIR/biggg:
+some_text2
+Attribute "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
+some_text4
+Files 350.ea1 and 350.ea2 are identical
diff --git a/tests/xfs/group b/tests/xfs/group
index 17fff27..efa025d 100644
--- a/tests/xfs/group
+++ b/tests/xfs/group
@@ -179,3 +179,4 @@
297 auto freeze
298 auto attr symlink quick
299 auto quota
+350 auto dump
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH V4 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early
2013-10-21 20:02 ` [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
2013-10-21 20:02 ` [PATCH V4 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
@ 2013-10-21 20:02 ` rjohnston
2013-10-23 21:03 ` Eric Sandeen
2013-10-24 0:14 ` Rich Johnston
2013-10-21 20:07 ` [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost Rich Johnston
2 siblings, 2 replies; 16+ messages in thread
From: rjohnston @ 2013-10-21 20:02 UTC (permalink / raw)
To: xfs
Multi-stream xfsdump/xfsrestore of more than partialmax wholly-sparse
files segfaults with the following warning:
"partial_reg: Out of records. Extend attrs applied early."
Add a test that dumps and restores partialmax + 1 wholly-sparse files.
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
---
diff --git a/tests/xfs/351 b/tests/xfs/351
new file mode 100755
index 0000000..c0d8afb
--- /dev/null
+++ b/tests/xfs/351
@@ -0,0 +1,68 @@
+#! /bin/bash
+# FS QA Test No. 351
+#
+# Dump and restore partialmax + 1 wholly-sparse files
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2013 SGI. All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1 # failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+ cd /
+ rm -f $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+. ./common/filter
+. ./common/dump
+
+# real QA test starts here
+
+# Modify as appropriate.
+_supported_fs xfs
+_supported_os Linux
+_require_scratch
+
+rm -f $seqres.full
+
+echo "Silence is golden."
+_wipe_fs
+mkdir $dump_dir >> $seqres.full 2>&1 || _fail "mkdir \"$dump_dir\" failed"
+for i in `seq 1 4`; do
+ $XFS_IO_PROG -f -c "truncate 1t" $dump_dir/sparsefile$i \
+ >> $seqres.full 2>&1 || _fail "failed to create sparsefile\"$i\""
+done
+# Dump and restore the files
+_prepare_restore_dir
+$XFSDUMP_PROG -L session -M label1 -M label2 -f $tmp.stream1 \
+ -f $tmp.stream2 $SCRATCH_MNT -s $dump_sdir \
+ >> $seqres.full 2>&1 || _fail "dump failed"
+$XFSRESTORE_PROG -F -f $tmp.stream1 -f $tmp.stream2 $restore_dir \
+ >> $seqres.full 2>&1 || _fail "restore failed"
+status=0
+exit
diff --git a/tests/xfs/351.out b/tests/xfs/351.out
new file mode 100644
index 0000000..42cf52e
--- /dev/null
+++ b/tests/xfs/351.out
@@ -0,0 +1,2 @@
+QA output created by 351
+Silence is golden.
diff --git a/tests/xfs/group b/tests/xfs/group
index 17fff27..53ea498 100644
--- a/tests/xfs/group
+++ b/tests/xfs/group
@@ -179,3 +179,4 @@
297 auto freeze
298 auto attr symlink quick
299 auto quota
+351 auto dump
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost
2013-10-21 20:02 ` [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
2013-10-21 20:02 ` [PATCH V4 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
2013-10-21 20:02 ` [PATCH V4 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early rjohnston
@ 2013-10-21 20:07 ` Rich Johnston
2 siblings, 0 replies; 16+ messages in thread
From: Rich Johnston @ 2013-10-21 20:07 UTC (permalink / raw)
To: xfs
On 10/21/2013 03:02 PM, rjohnston@sgi.com wrote:
> Extended attributes are lost after multi-stream xfsdump/xfsrestore
> of wholly-sparse files. This can happen in two ways:
>
> 1 - The restore succeeds, however the extended attributes are lost
> 2 - The restore in not successful because xfsrestore segfaults
> with the following warning:
>
> "partial_reg: Out of records. Extend attrs applied
> early."
>
> ---
> Changelog
> V2:
> Updated test description and comments
> Changed test status to default to failure
> Added missing _requires_XXXX statements
> Removed the attr root (-R) namespace argument
> V3:
> Split into 2 tests and used functions from the common
> directory where appropriate.
>
V4:
Addressed Eric's comments
> --Rich
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore
2013-10-21 20:02 ` [PATCH V4 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
@ 2013-10-23 21:03 ` Eric Sandeen
2013-10-24 0:14 ` Rich Johnston
1 sibling, 0 replies; 16+ messages in thread
From: Eric Sandeen @ 2013-10-23 21:03 UTC (permalink / raw)
To: rjohnston, xfs
On 10/21/13 3:02 PM, rjohnston@sgi.com wrote:
> Verify extended attributes are not lost after multi-stream
> xfsdump/xfsrestore of wholly-sparse files. The restore succeeds,
> however the extended attributes for that file are lost.
>
> Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
>
> diff --git a/tests/xfs/350 b/tests/xfs/350
> new file mode 100755
> index 0000000..df4c258
> --- /dev/null
> +++ b/tests/xfs/350
> @@ -0,0 +1,73 @@
> +#! /bin/bash
> +# FS QA Test No. 350
> +#
> +# Verify multi-stream xfsdump/restore preserves extended attributes
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (c) 2013 Red Hat, Inc. All Rights Reserved.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it would be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write the Free Software Foundation,
> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +#-----------------------------------------------------------------------
> +#
> +
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1 # failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> + cd /
> + rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +. ./common/dump
> +. ./common/attr
> +
> +# real QA test starts here
> +
> +# Modify as appropriate.
> +_supported_fs xfs
> +_supported_os Linux
> +_require_scratch
> +
> +# Extended attributes
> +attr_name=attrname
> +attr_value=1234
> +
> +rm -f $seqres.full
> +
> +_create_dumpdir_fill_ea
> +
> +# Create and add wholly-sparse file to the dump directory
> +$XFS_IO_PROG -f -c "truncate 1t" $dump_dir/sparsefile >> $seqres.full 2>&1 \
> + || _fail "could not create \"$dump_dir\"/sparsefile"
> +
> +# Set the xattr on sparsefile
> +$ATTR_PROG -s $attr_name -V $attr_value $dump_dir/sparsefile >> $seqres.full 2>&1 \
> + || _fail "could not set ATTR for \"$dump_dir\"/sparsefile"
> +
> +_do_dump_multi_file --multi 4 >> $seqres.full 2>&1
> +_do_restore_multi_file --multi 4 >> $seqres.full 2>&1
> +_diff_compare_eas
> +
> +status=0
> +exit
> diff --git a/tests/xfs/350.out b/tests/xfs/350.out
> new file mode 100644
> index 0000000..31a88b8
> --- /dev/null
> +++ b/tests/xfs/350.out
> @@ -0,0 +1,46 @@
> +QA output created by 350
> +Creating directory system to dump using src/fill.
> +Setup Attribute "attr1" set to a 9 byte value for smalll:
> +some_text
> +.Attribute "attr2" set to a 10 byte value for biggg:
> +some_text2
> +.Attribute "attr3" set to a 10 byte value for sub/smalll:
> +some_text3
> +.Attribute "attr4" set to a 10 byte value for sub/biggg:
> +some_text4
> +.Attribute "attr5" set to a 8 byte value for dir:
> +dir_text
> +...............
> +Comparing dump directory with restore directory
> +Looking at the extended attributes (EAs)
> +EAs on dump
> +User names
> +Attribute "attr5" had a 8 byte value for DUMP_DIR/dir:
> +dir_text
> +Attribute "attr1" had a 9 byte value for DUMP_DIR/smalll:
> +some_text
> +Attribute "attrname" had a 4 byte value for DUMP_DIR/sparsefile:
> +1234
> +Attribute "attr3" had a 10 byte value for DUMP_DIR/sub/smalll:
> +some_text3
> +Root names
> +Attribute "attr2" had a 10 byte value for DUMP_DIR/biggg:
> +some_text2
> +Attribute "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
> +some_text4
> +EAs on restore
> +User names
> +Attribute "attr5" had a 8 byte value for DUMP_DIR/dir:
> +dir_text
> +Attribute "attr1" had a 9 byte value for DUMP_DIR/smalll:
> +some_text
> +Attribute "attrname" had a 4 byte value for DUMP_DIR/sparsefile:
> +1234
> +Attribute "attr3" had a 10 byte value for DUMP_DIR/sub/smalll:
> +some_text3
> +Root names
> +Attribute "attr2" had a 10 byte value for DUMP_DIR/biggg:
> +some_text2
> +Attribute "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
> +some_text4
> +Files 350.ea1 and 350.ea2 are identical
> diff --git a/tests/xfs/group b/tests/xfs/group
> index 17fff27..efa025d 100644
> --- a/tests/xfs/group
> +++ b/tests/xfs/group
> @@ -179,3 +179,4 @@
> 297 auto freeze
> 298 auto attr symlink quick
> 299 auto quota
> +350 auto dump
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early
2013-10-21 20:02 ` [PATCH V4 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early rjohnston
@ 2013-10-23 21:03 ` Eric Sandeen
2013-10-24 0:14 ` Rich Johnston
1 sibling, 0 replies; 16+ messages in thread
From: Eric Sandeen @ 2013-10-23 21:03 UTC (permalink / raw)
To: rjohnston, xfs
On 10/21/13 3:02 PM, rjohnston@sgi.com wrote:
> Multi-stream xfsdump/xfsrestore of more than partialmax wholly-sparse
> files segfaults with the following warning:
>
> "partial_reg: Out of records. Extend attrs applied early."
>
> Add a test that dumps and restores partialmax + 1 wholly-sparse files.
>
> Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
>
> ---
>
> diff --git a/tests/xfs/351 b/tests/xfs/351
> new file mode 100755
> index 0000000..c0d8afb
> --- /dev/null
> +++ b/tests/xfs/351
> @@ -0,0 +1,68 @@
> +#! /bin/bash
> +# FS QA Test No. 351
> +#
> +# Dump and restore partialmax + 1 wholly-sparse files
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (c) 2013 SGI. All Rights Reserved.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it would be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write the Free Software Foundation,
> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +#-----------------------------------------------------------------------
> +#
> +
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1 # failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> + cd /
> + rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +. ./common/dump
> +
> +# real QA test starts here
> +
> +# Modify as appropriate.
> +_supported_fs xfs
> +_supported_os Linux
> +_require_scratch
> +
> +rm -f $seqres.full
> +
> +echo "Silence is golden."
> +_wipe_fs
> +mkdir $dump_dir >> $seqres.full 2>&1 || _fail "mkdir \"$dump_dir\" failed"
> +for i in `seq 1 4`; do
> + $XFS_IO_PROG -f -c "truncate 1t" $dump_dir/sparsefile$i \
> + >> $seqres.full 2>&1 || _fail "failed to create sparsefile\"$i\""
> +done
> +# Dump and restore the files
> +_prepare_restore_dir
> +$XFSDUMP_PROG -L session -M label1 -M label2 -f $tmp.stream1 \
> + -f $tmp.stream2 $SCRATCH_MNT -s $dump_sdir \
> + >> $seqres.full 2>&1 || _fail "dump failed"
> +$XFSRESTORE_PROG -F -f $tmp.stream1 -f $tmp.stream2 $restore_dir \
> + >> $seqres.full 2>&1 || _fail "restore failed"
> +status=0
> +exit
> diff --git a/tests/xfs/351.out b/tests/xfs/351.out
> new file mode 100644
> index 0000000..42cf52e
> --- /dev/null
> +++ b/tests/xfs/351.out
> @@ -0,0 +1,2 @@
> +QA output created by 351
> +Silence is golden.
> diff --git a/tests/xfs/group b/tests/xfs/group
> index 17fff27..53ea498 100644
> --- a/tests/xfs/group
> +++ b/tests/xfs/group
> @@ -179,3 +179,4 @@
> 297 auto freeze
> 298 auto attr symlink quick
> 299 auto quota
> +351 auto dump
>
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore
2013-10-21 20:02 ` [PATCH V4 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
2013-10-23 21:03 ` Eric Sandeen
@ 2013-10-24 0:14 ` Rich Johnston
1 sibling, 0 replies; 16+ messages in thread
From: Rich Johnston @ 2013-10-24 0:14 UTC (permalink / raw)
To: xfs
This has been committed.
Thanks
--Rich
commit 71026bf1f90cb376919fcc55636a665d287f394f
Author: Rich Johnston <rjohnston@sgi.com>
Date: Mon Oct 21 20:02:31 2013 +0000
xfstests XFS: verify extended attributes after multi-stream
xfsdump/xfsresto
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH V4 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early
2013-10-21 20:02 ` [PATCH V4 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early rjohnston
2013-10-23 21:03 ` Eric Sandeen
@ 2013-10-24 0:14 ` Rich Johnston
1 sibling, 0 replies; 16+ messages in thread
From: Rich Johnston @ 2013-10-24 0:14 UTC (permalink / raw)
To: xfs
This has been committed.
Thanks
--Rich
commit fe8a159300c9fe9fb2e81320068fe78eb106f846
Author: Rich Johnston <rjohnston@sgi.com>
Date: Mon Oct 21 20:02:32 2013 +0000
xfstests: xfsdump/restore test for partial_reg: Out of records.
Extend attr
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2013-10-24 0:14 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-11 4:19 [PATCH 0/2 V3] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
2013-10-11 4:19 ` [PATCH 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
2013-10-18 18:40 ` Eric Sandeen
2013-10-18 18:47 ` Eric Sandeen
2013-10-18 22:46 ` Dave Chinner
2013-10-18 22:47 ` Eric Sandeen
2013-10-11 4:19 ` [PATCH 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early rjohnston
2013-10-18 18:53 ` Eric Sandeen
2013-10-21 20:02 ` [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost rjohnston
2013-10-21 20:02 ` [PATCH V4 1/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore rjohnston
2013-10-23 21:03 ` Eric Sandeen
2013-10-24 0:14 ` Rich Johnston
2013-10-21 20:02 ` [PATCH V4 2/2] xfstests: xfsdump/restore test for partial_reg: Out of records. Extend attrs applied early rjohnston
2013-10-23 21:03 ` Eric Sandeen
2013-10-24 0:14 ` Rich Johnston
2013-10-21 20:07 ` [PATCH V4 0/2] xfstests XFS: verify extended attributes after multi-stream xfsdump/xfsrestore are not lost Rich Johnston
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox