* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.