* [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
* 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 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 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 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
* [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
* 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 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
* [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 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 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
* 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
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.