QA output created by 062 meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks data = bsize=XXX blocks=XXX, imaxpct=PCT = sunit=XXX swidth=XXX, unwritten=X naming =VERN bsize=XXX log =LDEV bsize=XXX blocks=XXX realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX *** create test bed SCRATCH_MNT SCRATCH_MNT/dev SCRATCH_MNT/dev/b SCRATCH_MNT/dev/c SCRATCH_MNT/dev/p SCRATCH_MNT/dir SCRATCH_MNT/lnk SCRATCH_MNT/reg === TYPE reg; NAMESPACE user *** set/get one initially empty attribute # file: SCRATCH_MNT/reg # namespace: user name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/reg # namespace: user name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/reg # namespace: user name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/reg # namespace: user name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/reg # namespace: user name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/reg # namespace: user name2 *** overwrite empty value # file: SCRATCH_MNT/reg # namespace: user name2=0xcafe *** remove attribute SCRATCH_MNT/reg: name2: No such attribute *** final list (strings, type=reg, nsp=user) # file: SCRATCH_MNT/reg # namespace: user name="\272\276" name3="\336\372\316" === TYPE dir; NAMESPACE user *** set/get one initially empty attribute # file: SCRATCH_MNT/dir # namespace: user name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/dir # namespace: user name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/dir # namespace: user name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/dir # namespace: user name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/dir # namespace: user name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/dir # namespace: user name2 *** overwrite empty value # file: SCRATCH_MNT/dir # namespace: user name2=0xcafe *** remove attribute SCRATCH_MNT/dir: name2: No such attribute *** final list (strings, type=dir, nsp=user) # file: SCRATCH_MNT/dir # namespace: user name="\272\276" name3="\336\372\316" === TYPE lnk; NAMESPACE user *** set/get one initially empty attribute # file: SCRATCH_MNT/lnk # namespace: user name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/lnk # namespace: user name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/lnk # namespace: user name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/lnk # namespace: user name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/lnk # namespace: user name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/lnk # namespace: user name2 *** overwrite empty value # file: SCRATCH_MNT/lnk # namespace: user name2=0xcafe *** remove attribute SCRATCH_MNT/lnk: name2: No such attribute *** final list (strings, type=lnk, nsp=user) # file: SCRATCH_MNT/lnk # namespace: user name="\272\276" name3="\336\372\316" === TYPE dev/b; NAMESPACE user *** set/get one initially empty attribute # file: SCRATCH_MNT/dev/b # namespace: user name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/dev/b # namespace: user name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/dev/b # namespace: user name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/dev/b # namespace: user name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/dev/b # namespace: user name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/dev/b # namespace: user name2 *** overwrite empty value # file: SCRATCH_MNT/dev/b # namespace: user name2=0xcafe *** remove attribute SCRATCH_MNT/dev/b: name2: No such attribute *** final list (strings, type=dev/b, nsp=user) # file: SCRATCH_MNT/dev/b # namespace: user name="\272\276" name3="\336\372\316" === TYPE dev/c; NAMESPACE user *** set/get one initially empty attribute # file: SCRATCH_MNT/dev/c # namespace: user name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/dev/c # namespace: user name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/dev/c # namespace: user name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/dev/c # namespace: user name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/dev/c # namespace: user name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/dev/c # namespace: user name2 *** overwrite empty value # file: SCRATCH_MNT/dev/c # namespace: user name2=0xcafe *** remove attribute SCRATCH_MNT/dev/c: name2: No such attribute *** final list (strings, type=dev/c, nsp=user) # file: SCRATCH_MNT/dev/c # namespace: user name="\272\276" name3="\336\372\316" === TYPE dev/p; NAMESPACE user *** set/get one initially empty attribute # file: SCRATCH_MNT/dev/p # namespace: user name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/dev/p # namespace: user name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/dev/p # namespace: user name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/dev/p # namespace: user name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/dev/p # namespace: user name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/dev/p # namespace: user name2 *** overwrite empty value # file: SCRATCH_MNT/dev/p # namespace: user name2=0xcafe *** remove attribute SCRATCH_MNT/dev/p: name2: No such attribute *** final list (strings, type=dev/p, nsp=user) # file: SCRATCH_MNT/dev/p # namespace: user name="\272\276" name3="\336\372\316" === TYPE reg; NAMESPACE root *** set/get one initially empty attribute # file: SCRATCH_MNT/reg # namespace: root name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/reg # namespace: root name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/reg # namespace: root name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/reg # namespace: root name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/reg # namespace: root name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/reg # namespace: root name2 *** overwrite empty value # file: SCRATCH_MNT/reg # namespace: root name2=0xcafe *** remove attribute SCRATCH_MNT/reg: name2: No such attribute *** final list (strings, type=reg, nsp=root) # file: SCRATCH_MNT/reg # namespace: user name="\272\276" name3="\336\372\316" # file: SCRATCH_MNT/reg # namespace: root name="\272\276" name3="\336\372\316" === TYPE dir; NAMESPACE root *** set/get one initially empty attribute # file: SCRATCH_MNT/dir # namespace: root name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/dir # namespace: root name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/dir # namespace: root name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/dir # namespace: root name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/dir # namespace: root name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/dir # namespace: root name2 *** overwrite empty value # file: SCRATCH_MNT/dir # namespace: root name2=0xcafe *** remove attribute SCRATCH_MNT/dir: name2: No such attribute *** final list (strings, type=dir, nsp=root) # file: SCRATCH_MNT/dir # namespace: user name="\272\276" name3="\336\372\316" # file: SCRATCH_MNT/dir # namespace: root name="\272\276" name3="\336\372\316" === TYPE lnk; NAMESPACE root *** set/get one initially empty attribute # file: SCRATCH_MNT/lnk # namespace: root name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/lnk # namespace: root name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/lnk # namespace: root name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/lnk # namespace: root name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/lnk # namespace: root name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/lnk # namespace: root name2 *** overwrite empty value # file: SCRATCH_MNT/lnk # namespace: root name2=0xcafe *** remove attribute SCRATCH_MNT/lnk: name2: No such attribute *** final list (strings, type=lnk, nsp=root) # file: SCRATCH_MNT/lnk # namespace: user name="\272\276" name3="\336\372\316" # file: SCRATCH_MNT/lnk # namespace: root name="\272\276" name3="\336\372\316" === TYPE dev/b; NAMESPACE root *** set/get one initially empty attribute # file: SCRATCH_MNT/dev/b # namespace: root name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/dev/b # namespace: root name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/dev/b # namespace: root name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/dev/b # namespace: root name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/dev/b # namespace: root name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/dev/b # namespace: root name2 *** overwrite empty value # file: SCRATCH_MNT/dev/b # namespace: root name2=0xcafe *** remove attribute SCRATCH_MNT/dev/b: name2: No such attribute *** final list (strings, type=dev/b, nsp=root) # file: SCRATCH_MNT/dev/b # namespace: user name="\272\276" name3="\336\372\316" # file: SCRATCH_MNT/dev/b # namespace: root name="\272\276" name3="\336\372\316" === TYPE dev/c; NAMESPACE root *** set/get one initially empty attribute # file: SCRATCH_MNT/dev/c # namespace: root name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/dev/c # namespace: root name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/dev/c # namespace: root name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/dev/c # namespace: root name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/dev/c # namespace: root name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/dev/c # namespace: root name2 *** overwrite empty value # file: SCRATCH_MNT/dev/c # namespace: root name2=0xcafe *** remove attribute SCRATCH_MNT/dev/c: name2: No such attribute *** final list (strings, type=dev/c, nsp=root) # file: SCRATCH_MNT/dev/c # namespace: user name="\272\276" name3="\336\372\316" # file: SCRATCH_MNT/dev/c # namespace: root name="\272\276" name3="\336\372\316" === TYPE dev/p; NAMESPACE root *** set/get one initially empty attribute # file: SCRATCH_MNT/dev/p # namespace: root name *** overwrite empty, set several new attributes *** fetch several attribute names and values (hex) # file: SCRATCH_MNT/dev/p # namespace: root name=0xbabe name2=0xdeadbeef name3=0xdeface *** fetch several attribute names and values (base64) # file: SCRATCH_MNT/dev/p # namespace: root name=0sur4= name2=0s3q2+7w== name3=0s3vrO *** shrink value of an existing attribute # file: SCRATCH_MNT/dev/p # namespace: root name=0xbabe name2=0xdeaf name3=0xdeface *** grow value of existing attribute # file: SCRATCH_MNT/dev/p # namespace: root name=0xbabe name2=0xdecade name3=0xdeface *** set an empty value for second attribute # file: SCRATCH_MNT/dev/p # namespace: root name2 *** overwrite empty value # file: SCRATCH_MNT/dev/p # namespace: root name2=0xcafe *** remove attribute SCRATCH_MNT/dev/p: name2: No such attribute *** final list (strings, type=dev/p, nsp=root) # file: SCRATCH_MNT/dev/p # namespace: user name="\272\276" name3="\336\372\316" # file: SCRATCH_MNT/dev/p # namespace: root name="\272\276" name3="\336\372\316" *** extend test bed SCRATCH_MNT SCRATCH_MNT/descend SCRATCH_MNT/descend/and SCRATCH_MNT/descend/down SCRATCH_MNT/descend/down/here SCRATCH_MNT/dev SCRATCH_MNT/dev/b SCRATCH_MNT/dev/c SCRATCH_MNT/dev/p SCRATCH_MNT/dir SCRATCH_MNT/here SCRATCH_MNT/here/up SCRATCH_MNT/here/up/ascend SCRATCH_MNT/lnk SCRATCH_MNT/reg *** forward directory descent with us following symlinks # file: SCRATCH_MNT/reg # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/reg # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dir # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dir # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/lnk # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/lnk # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/b # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/b # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/c # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/c # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/p # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/p # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/here # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/here/up # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/here/up/ascend # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/descend # namespace: user 1=0x3233 x=0x797a # file: SCRATCH_MNT/descend/down # namespace: user 1=0x3233 x=0x797a # file: SCRATCH_MNT/descend/down/here # namespace: user 1=0x3233 x=0x797a # file: SCRATCH_MNT/descend/and/ascend # namespace: root 9=0x3837 a=0x6263 *** reverse directory descent with us following symlinks # file: SCRATCH_MNT/reg # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/reg # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dir # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dir # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/lnk # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/lnk # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/b # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/b # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/c # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/c # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/p # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/p # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/here/up/ascend # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/here/up # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/here # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/descend/down/here # namespace: user 1=0x3233 x=0x797a # file: SCRATCH_MNT/descend/down # namespace: user 1=0x3233 x=0x797a # file: SCRATCH_MNT/descend/and/ascend # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/descend # namespace: user 1=0x3233 x=0x797a *** forward directory descent without following symlinks # file: SCRATCH_MNT/reg # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/reg # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dir # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dir # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/b # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/b # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/c # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/c # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/p # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/p # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/here # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/here/up # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/here/up/ascend # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/descend # namespace: user 1=0x3233 x=0x797a # file: SCRATCH_MNT/descend/down # namespace: user 1=0x3233 x=0x797a # file: SCRATCH_MNT/descend/down/here # namespace: user 1=0x3233 x=0x797a *** reverse directory descent without following symlinks # file: SCRATCH_MNT/reg # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/reg # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dir # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dir # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/b # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/b # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/c # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/c # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/p # namespace: user name=0xbabe name3=0xdeface # file: SCRATCH_MNT/dev/p # namespace: root name=0xbabe name3=0xdeface # file: SCRATCH_MNT/here/up/ascend # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/here/up # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/here # namespace: root 9=0x3837 a=0x6263 # file: SCRATCH_MNT/descend/down/here # namespace: user 1=0x3233 x=0x797a # file: SCRATCH_MNT/descend/down # namespace: user 1=0x3233 x=0x797a # file: SCRATCH_MNT/descend # namespace: user 1=0x3233 x=0x797a *** backup everything *** clear out the scratch device *** reset test bed with no extended attributes *** create test bed SCRATCH_MNT SCRATCH_MNT/dev SCRATCH_MNT/dev/b SCRATCH_MNT/dev/c SCRATCH_MNT/dev/p SCRATCH_MNT/dir SCRATCH_MNT/lnk SCRATCH_MNT/reg *** extend test bed SCRATCH_MNT SCRATCH_MNT/descend SCRATCH_MNT/descend/and SCRATCH_MNT/descend/down SCRATCH_MNT/descend/down/here SCRATCH_MNT/dev SCRATCH_MNT/dev/b SCRATCH_MNT/dev/c SCRATCH_MNT/dev/p SCRATCH_MNT/dir SCRATCH_MNT/here SCRATCH_MNT/here/up SCRATCH_MNT/here/up/ascend SCRATCH_MNT/lnk SCRATCH_MNT/reg *** restore everything *** compare before and after backups *** unmount