* [PATCH] xfstests: Sort recursive getfattr output in 062 [not found] ` <4ECB2ADE.3010007@redhat.com> @ 2011-11-23 17:09 ` Eric Sandeen 2011-11-28 11:03 ` Christoph Hellwig 2012-01-25 21:38 ` [PATCH V2] " Eric Sandeen 0 siblings, 2 replies; 4+ messages in thread From: Eric Sandeen @ 2011-11-23 17:09 UTC (permalink / raw) To: Theodore Tso; +Cc: linux-ext4@vger.kernel.org, Yu Jian, Andreas Dilger, xfs-oss -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Test 062 was made "generic" a while back, but it fails on any filesystem which returns getfattr -R results (aka readdir results) in something other than inode-order. With a little awk-fu we can sort the records from getfattr -R so that the output is the same for xfs as well as ext4, etc. Also filter out lost+found which extN creates at mkfs time, but some other filesystems do not. Signed-off-by: Eric Sandeen <sandeen@redhat.com> - --- diff --git a/062 b/062 index f666e1b..7005c4e 100755 - --- a/062 +++ b/062 @@ -46,6 +46,13 @@ _cleanup() } trap "_cleanup; exit \$status" 0 1 2 3 15 +# getfattr -R returns info in readdir order which varies from fs to fs. +# This sorts the output by filename +_sort_getfattr_output() +{ + awk '{a[FNR]=$0}END{n = asort(a); for(i=1; i <= n; i++) print a[i],"\n"}' RS='' +} + getfattr() { $GETFATTR_PROG --absolute-names -dh $@ 2>&1 | _filter_scratch @@ -67,7 +74,7 @@ _create_test_bed() mknod $SCRATCH_MNT/dev/c c 0 0 mknod $SCRATCH_MNT/dev/p p # sanity check - - find $SCRATCH_MNT | LC_COLLATE=POSIX sort | _filter_scratch + find $SCRATCH_MNT | LC_COLLATE=POSIX sort | _filter_scratch | grep -v "lost+found" } # real QA test starts here @@ -160,18 +167,18 @@ _extend_test_bed() # whack a symlink in the middle, just to be difficult ln -s $SCRATCH_MNT/here/up $SCRATCH_MNT/descend/and # dump out our new starting point - - find $SCRATCH_MNT | LC_COLLATE=POSIX sort | _filter_scratch + find $SCRATCH_MNT | LC_COLLATE=POSIX sort | _filter_scratch | grep -v "lost+found" } _extend_test_bed echo echo "*** directory descent with us following symlinks" - -getfattr -h -L -R -m '.' -e hex $SCRATCH_MNT +getfattr -h -L -R -m '.' -e hex $SCRATCH_MNT | _sort_getfattr_output echo echo "*** directory descent without following symlinks" - -getfattr -h -P -R -m '.' -e hex $SCRATCH_MNT +getfattr -h -P -R -m '.' -e hex $SCRATCH_MNT | _sort_getfattr_output # diff --git a/062.out b/062.out index 699254a..7d05c85 100644 - --- a/062.out +++ b/062.out @@ -508,115 +508,115 @@ SCRATCH_MNT/lnk SCRATCH_MNT/reg *** directory descent with us following symlinks - -# file: SCRATCH_MNT/reg - -trusted.name=0xbabe - -trusted.name3=0xdeface - -user.name=0xbabe - -user.name3=0xdeface +# file: SCRATCH_MNT/descend +user.1=0x3233 +user.x=0x797a - -# file: SCRATCH_MNT/dir - -trusted.name=0xbabe - -trusted.name3=0xdeface - -user.name=0xbabe - -user.name3=0xdeface +# file: SCRATCH_MNT/descend/and/ascend +trusted.9=0x3837 +trusted.a=0x6263 - -# file: SCRATCH_MNT/lnk - -trusted.name=0xbabe - -trusted.name3=0xdeface +# file: SCRATCH_MNT/descend/down +user.1=0x3233 +user.x=0x797a + +# file: SCRATCH_MNT/descend/down/here +user.1=0x3233 +user.x=0x797a # file: SCRATCH_MNT/dev/b trusted.name=0xbabe - -trusted.name3=0xdeface +trusted.name3=0xdeface # file: SCRATCH_MNT/dev/c trusted.name=0xbabe - -trusted.name3=0xdeface +trusted.name3=0xdeface # file: SCRATCH_MNT/dev/p trusted.name=0xbabe +trusted.name3=0xdeface + +# file: SCRATCH_MNT/dir +trusted.name=0xbabe trusted.name3=0xdeface +user.name=0xbabe +user.name3=0xdeface # file: SCRATCH_MNT/here trusted.9=0x3837 - -trusted.a=0x6263 +trusted.a=0x6263 # file: SCRATCH_MNT/here/up trusted.9=0x3837 - -trusted.a=0x6263 +trusted.a=0x6263 # file: SCRATCH_MNT/here/up/ascend trusted.9=0x3837 - -trusted.a=0x6263 +trusted.a=0x6263 +# file: SCRATCH_MNT/lnk +trusted.name=0xbabe +trusted.name3=0xdeface + +# file: SCRATCH_MNT/reg +trusted.name=0xbabe +trusted.name3=0xdeface +user.name=0xbabe +user.name3=0xdeface + + +*** directory descent without following symlinks # file: SCRATCH_MNT/descend user.1=0x3233 - -user.x=0x797a +user.x=0x797a # file: SCRATCH_MNT/descend/down user.1=0x3233 - -user.x=0x797a +user.x=0x797a # file: SCRATCH_MNT/descend/down/here user.1=0x3233 - -user.x=0x797a - - - -# file: SCRATCH_MNT/descend/and/ascend - -trusted.9=0x3837 - -trusted.a=0x6263 - - - - - -*** directory descent without following symlinks - -# file: SCRATCH_MNT/reg - -trusted.name=0xbabe - -trusted.name3=0xdeface - -user.name=0xbabe - -user.name3=0xdeface - - - -# file: SCRATCH_MNT/dir - -trusted.name=0xbabe - -trusted.name3=0xdeface - -user.name=0xbabe - -user.name3=0xdeface - - - -# file: SCRATCH_MNT/lnk - -trusted.name=0xbabe - -trusted.name3=0xdeface +user.x=0x797a # file: SCRATCH_MNT/dev/b trusted.name=0xbabe - -trusted.name3=0xdeface +trusted.name3=0xdeface # file: SCRATCH_MNT/dev/c trusted.name=0xbabe - -trusted.name3=0xdeface +trusted.name3=0xdeface # file: SCRATCH_MNT/dev/p trusted.name=0xbabe +trusted.name3=0xdeface + +# file: SCRATCH_MNT/dir +trusted.name=0xbabe trusted.name3=0xdeface +user.name=0xbabe +user.name3=0xdeface # file: SCRATCH_MNT/here trusted.9=0x3837 - -trusted.a=0x6263 +trusted.a=0x6263 # file: SCRATCH_MNT/here/up trusted.9=0x3837 - -trusted.a=0x6263 +trusted.a=0x6263 # file: SCRATCH_MNT/here/up/ascend trusted.9=0x3837 - -trusted.a=0x6263 +trusted.a=0x6263 - -# file: SCRATCH_MNT/descend - -user.1=0x3233 - -user.x=0x797a - - - -# file: SCRATCH_MNT/descend/down - -user.1=0x3233 - -user.x=0x797a +# file: SCRATCH_MNT/lnk +trusted.name=0xbabe +trusted.name3=0xdeface - -# file: SCRATCH_MNT/descend/down/here - -user.1=0x3233 - -user.x=0x797a +# file: SCRATCH_MNT/reg +trusted.name=0xbabe +trusted.name3=0xdeface +user.name=0xbabe +user.name3=0xdeface -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJOzSjQAAoJECCuFpLhPd7gsJIP/j2BKTvft/QjnLxs+gJT/f0S H7L9r/izHcQ5Z/xk9t4unpOr35EsXOuwMzWN8OrB3fCx0J7gkIj7s7dNFrou8K8w bkVW6lzy5VUOHPzkqFSNLHSf2YLrrXNfPBLgOQl8A4lkNzY4gjy74uw05bLL4z3y u+gmjwuOMRTwGe3N9l/q6VR7UybHRyYBE62Ee2SPBa59FFWdicqzQBGVj0OOAdQg asTekASb8fXv/A4GNMFyNpZtA65ov8puISeGjV/A9Dhrx843qn1IFLA3UfcWEPEf qF5MDkg0ZuDDzN8YOiZM5S6mY7KAGSiKAHlF9nNZistCMJy4UDWh2lGLCIDEoO8l oRpbEOQy8tq7v7ppgp4kmh+8aIj0bletjZbgumPiu8KrRNCyXlBpGYGsBIPH+wgn P0i7EKILkF7gRM6Gs4U7Ek88mLcDSrsRGjI7JWQgOufUoo9noZM4pBlfw+ngx3DC NlhxisqyWcwDAVV1MBNvoSNGB5iLNCTgb/Ppgb7SdwNJ/heX9EAgKTsTnyENjtYe ILcuWf0CLYRPG9gun3JIXS/IibJY4Eqi3E9jo+Et5q6eOGTFuD0hjgERULUzH9d2 wwWFq7KPtdJJbWK0mANn2HK0GQH79gskmWsFS8Mxl7JCSMfPOFdbHNSbqdzNKXJS +OIS7v24/L/pNQNtuqEt =hW9Q -----END PGP SIGNATURE----- _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] xfstests: Sort recursive getfattr output in 062 2011-11-23 17:09 ` [PATCH] xfstests: Sort recursive getfattr output in 062 Eric Sandeen @ 2011-11-28 11:03 ` Christoph Hellwig 2012-01-25 21:38 ` [PATCH V2] " Eric Sandeen 1 sibling, 0 replies; 4+ messages in thread From: Christoph Hellwig @ 2011-11-28 11:03 UTC (permalink / raw) To: Eric Sandeen Cc: Andreas Dilger, linux-ext4@vger.kernel.org, Theodore Tso, Yu Jian, xfs-oss On Wed, Nov 23, 2011 at 11:09:37AM -0600, Eric Sandeen wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Test 062 was made "generic" a while back, but it fails on any filesystem > which returns getfattr -R results (aka readdir results) in something > other than inode-order. > > With a little awk-fu we can sort the records from getfattr -R so that > the output is the same for xfs as well as ext4, etc. > > Also filter out lost+found which extN creates at mkfs time, but > some other filesystems do not. Looks fine to me, except that I'd put the sorting helper into common.attr. Reviewed-by: Christoph Hellwig <hch@lst.de> _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH V2] xfstests: Sort recursive getfattr output in 062 2011-11-23 17:09 ` [PATCH] xfstests: Sort recursive getfattr output in 062 Eric Sandeen 2011-11-28 11:03 ` Christoph Hellwig @ 2012-01-25 21:38 ` Eric Sandeen 2012-01-27 10:53 ` Christoph Hellwig 1 sibling, 1 reply; 4+ messages in thread From: Eric Sandeen @ 2012-01-25 21:38 UTC (permalink / raw) To: Eric Sandeen Cc: Andreas Dilger, linux-ext4@vger.kernel.org, Theodore Tso, Yu Jian, xfs-oss -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Test 062 was made "generic" a while back, but it fails on any filesystem which returns getfattr -R results (aka readdir results) in something other than inode-order. With a little awk-fu we can sort the records from getfattr -R so that the output is the same for xfs as well as ext4, etc. Also filter out lost+found which extN creates at mkfs time, but some other filesystems do not. Signed-off-by: Eric Sandeen <sandeen@redhat.com> - --- V2: move sorting function into common.attr diff --git a/062 b/062 index f666e1b..9800e33 100755 - --- a/062 +++ b/062 @@ -67,7 +67,7 @@ _create_test_bed() mknod $SCRATCH_MNT/dev/c c 0 0 mknod $SCRATCH_MNT/dev/p p # sanity check - - find $SCRATCH_MNT | LC_COLLATE=POSIX sort | _filter_scratch + find $SCRATCH_MNT | LC_COLLATE=POSIX sort | _filter_scratch | grep -v "lost+found" } # real QA test starts here @@ -160,18 +160,18 @@ _extend_test_bed() # whack a symlink in the middle, just to be difficult ln -s $SCRATCH_MNT/here/up $SCRATCH_MNT/descend/and # dump out our new starting point - - find $SCRATCH_MNT | LC_COLLATE=POSIX sort | _filter_scratch + find $SCRATCH_MNT | LC_COLLATE=POSIX sort | _filter_scratch | grep -v "lost+found" } _extend_test_bed echo echo "*** directory descent with us following symlinks" - -getfattr -h -L -R -m '.' -e hex $SCRATCH_MNT +getfattr -h -L -R -m '.' -e hex $SCRATCH_MNT | _sort_getfattr_output echo echo "*** directory descent without following symlinks" - -getfattr -h -P -R -m '.' -e hex $SCRATCH_MNT +getfattr -h -P -R -m '.' -e hex $SCRATCH_MNT | _sort_getfattr_output # diff --git a/062.out b/062.out index 699254a..8cc3c65 100644 - --- a/062.out +++ b/062.out @@ -508,21 +508,21 @@ SCRATCH_MNT/lnk SCRATCH_MNT/reg *** directory descent with us following symlinks - -# file: SCRATCH_MNT/reg - -trusted.name=0xbabe - -trusted.name3=0xdeface - -user.name=0xbabe - -user.name3=0xdeface +# file: SCRATCH_MNT/descend +user.1=0x3233 +user.x=0x797a - -# file: SCRATCH_MNT/dir - -trusted.name=0xbabe - -trusted.name3=0xdeface - -user.name=0xbabe - -user.name3=0xdeface +# file: SCRATCH_MNT/descend/and/ascend +trusted.9=0x3837 +trusted.a=0x6263 - -# file: SCRATCH_MNT/lnk - -trusted.name=0xbabe - -trusted.name3=0xdeface +# file: SCRATCH_MNT/descend/down +user.1=0x3233 +user.x=0x797a + +# file: SCRATCH_MNT/descend/down/here +user.1=0x3233 +user.x=0x797a # file: SCRATCH_MNT/dev/b trusted.name=0xbabe @@ -536,6 +536,12 @@ trusted.name3=0xdeface trusted.name=0xbabe trusted.name3=0xdeface +# file: SCRATCH_MNT/dir +trusted.name=0xbabe +trusted.name3=0xdeface +user.name=0xbabe +user.name3=0xdeface + # file: SCRATCH_MNT/here trusted.9=0x3837 trusted.a=0x6263 @@ -548,6 +554,18 @@ trusted.a=0x6263 trusted.9=0x3837 trusted.a=0x6263 +# file: SCRATCH_MNT/lnk +trusted.name=0xbabe +trusted.name3=0xdeface + +# file: SCRATCH_MNT/reg +trusted.name=0xbabe +trusted.name3=0xdeface +user.name=0xbabe +user.name3=0xdeface + + +*** directory descent without following symlinks # file: SCRATCH_MNT/descend user.1=0x3233 user.x=0x797a @@ -560,28 +578,6 @@ user.x=0x797a user.1=0x3233 user.x=0x797a - -# file: SCRATCH_MNT/descend/and/ascend - -trusted.9=0x3837 - -trusted.a=0x6263 - - - - - -*** directory descent without following symlinks - -# file: SCRATCH_MNT/reg - -trusted.name=0xbabe - -trusted.name3=0xdeface - -user.name=0xbabe - -user.name3=0xdeface - - - -# file: SCRATCH_MNT/dir - -trusted.name=0xbabe - -trusted.name3=0xdeface - -user.name=0xbabe - -user.name3=0xdeface - - - -# file: SCRATCH_MNT/lnk - -trusted.name=0xbabe - -trusted.name3=0xdeface - - # file: SCRATCH_MNT/dev/b trusted.name=0xbabe trusted.name3=0xdeface @@ -594,6 +590,12 @@ trusted.name3=0xdeface trusted.name=0xbabe trusted.name3=0xdeface +# file: SCRATCH_MNT/dir +trusted.name=0xbabe +trusted.name3=0xdeface +user.name=0xbabe +user.name3=0xdeface + # file: SCRATCH_MNT/here trusted.9=0x3837 trusted.a=0x6263 @@ -606,17 +608,15 @@ trusted.a=0x6263 trusted.9=0x3837 trusted.a=0x6263 - -# file: SCRATCH_MNT/descend - -user.1=0x3233 - -user.x=0x797a - - - -# file: SCRATCH_MNT/descend/down - -user.1=0x3233 - -user.x=0x797a +# file: SCRATCH_MNT/lnk +trusted.name=0xbabe +trusted.name3=0xdeface - -# file: SCRATCH_MNT/descend/down/here - -user.1=0x3233 - -user.x=0x797a +# file: SCRATCH_MNT/reg +trusted.name=0xbabe +trusted.name3=0xdeface +user.name=0xbabe +user.name3=0xdeface diff --git a/common.attr b/common.attr index 3e2ba85..b49d990 100644 - --- a/common.attr +++ b/common.attr @@ -176,6 +176,13 @@ _require_attrs() rm -f $TEST_DIR/syscalltest.out } +# getfattr -R returns info in readdir order which varies from fs to fs. +# This sorts the output by filename +_sort_getfattr_output() +{ + awk '{a[FNR]=$0}END{n = asort(a); for(i=1; i <= n; i++) print a[i]"\n"}' RS='' +} + # set maximum total attr space based on fs type if [ "$FSTYP" == "xfs" -o "$FSTYP" == "udf" ]; then MAX_ATTRS=1000 -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJPIHZtAAoJECCuFpLhPd7g2yMP/1VU2RhD8gdfpJIQKGvZjurP XGmv2tLY/3eDWTwbpm3E5m3EmXIAZpq+ahUYT9C+I8afw0oLv4zggAQ3M6P20JlM dM/M7imNHYfafIMr7wIw0+Iv0pt/tpDv3cm2kxJDJq+yW88Y+tRG/ifU8uSjREyX WBSqKjo3mJ0CJ03Chh9xWDK7AV4reYW3cxlCNMMzUrRPho7hWIrZN58GhDO4esqa x11eFp4qk6I5ApExfpa5PJIGTT7xepCsQsDSaf2HNKzSEg3c5fzV43nHUFl+qRNH FQ0CPx10VMhxtr3RZI7laN01yHk5qWjMFB9ufldot6Xv/CFwU++zBVH21IwKAgvR D/tihuxUf8Sllpa0+DuMTuobg2cZuvlyshkWeU4YGAbyFfxirPNVjqEcnfnIMnoA +C3Sc/8DTd70C8WG9M5ON9sMmGtJr/s93OAZMwiLHGvBC1GZf51BvAI+l7ln3Ug3 jws77r4x1P01da6ciUsESNibCrilCiw3Q2XcYJU/VfbxpFZ0ro0ib3wA4O654vqN V38zh7BOipn7ukWIn8KRc09d9X/PqsqeFNVaLJA+tMsxH021J8uluG4nTmn3a+jM t79YFK0JccMk8t0ShCTUjhnhHXwdrVVs8MCCghc9QoYg2/HEQrcDPKft69hM9UTL OrK3+QKMf3JATAYdgXSg =w2HJ -----END PGP SIGNATURE----- _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V2] xfstests: Sort recursive getfattr output in 062 2012-01-25 21:38 ` [PATCH V2] " Eric Sandeen @ 2012-01-27 10:53 ` Christoph Hellwig 0 siblings, 0 replies; 4+ messages in thread From: Christoph Hellwig @ 2012-01-27 10:53 UTC (permalink / raw) To: Eric Sandeen Cc: Eric Sandeen, Yu Jian, Theodore Tso, xfs-oss, Andreas Dilger, linux-ext4@vger.kernel.org On Wed, Jan 25, 2012 at 03:38:54PM -0600, Eric Sandeen wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Test 062 was made "generic" a while back, but it fails on any filesystem > which returns getfattr -R results (aka readdir results) in something > other than inode-order. > > With a little awk-fu we can sort the records from getfattr -R so that > the output is the same for xfs as well as ext4, etc. > > Also filter out lost+found which extN creates at mkfs time, but > some other filesystems do not. > > Signed-off-by: Eric Sandeen <sandeen@redhat.com> > - --- > > V2: move sorting function into common.attr Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de> _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-01-27 10:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <4EC10664.1080501@tuxadero.com>
[not found] ` <CAO47_-9nfO32nwOAQMVdqw6iWGWK+FWb+MD=WeOz_vr4YrrKmw@mail.gmail.com>
[not found] ` <20111115142246.GA7516@thunk.org>
[not found] ` <246EA1CC-3C33-4D41-80C0-2331C426EBB0@whamcloud.com>
[not found] ` <4ECA4282.5020908@whamcloud.com>
[not found] ` <401CC4FF-8955-4D5F-B620-5C39AF566123@mit.edu>
[not found] ` <4ECB2ADE.3010007@redhat.com>
2011-11-23 17:09 ` [PATCH] xfstests: Sort recursive getfattr output in 062 Eric Sandeen
2011-11-28 11:03 ` Christoph Hellwig
2012-01-25 21:38 ` [PATCH V2] " Eric Sandeen
2012-01-27 10:53 ` Christoph Hellwig
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox