mount -t xfs $SCRATCH_DEV $SCRATCH_MNT || _fail "mount failed"
_create_test_bed
-for nsp in user xfsroot; do
+for nsp in user trusted; do
for inode in reg dir lnk dev/b dev/c dev/p; do
echo; echo "=== TYPE $inode; NAMESPACE $nsp"; echo
getfattr -m $nsp -e hex -n $nsp.name2 $SCRATCH_MNT/$inode
echo "*** final list (strings, type=$inode, nsp=$nsp)"
- getfattr -m '^user|^xfsroot' -e hex $SCRATCH_MNT/$inode
+ getfattr -m '^user|^trusted' -e hex $SCRATCH_MNT/$inode
done
done
mkdir -p $SCRATCH_MNT/descend/down/here
find $SCRATCH_MNT/descend | xargs setfattr -n user.x -v yz
find $SCRATCH_MNT/descend | xargs setfattr -n user.1 -v 23
- find $SCRATCH_MNT/here | xargs setfattr -n xfsroot.a -v bc
- find $SCRATCH_MNT/here | xargs setfattr -n xfsroot.9 -v 87
+ find $SCRATCH_MNT/here | xargs setfattr -n trusted.a -v bc
+ find $SCRATCH_MNT/here | xargs setfattr -n trusted.9 -v 87
# 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
echo
echo "*** directory descent with us following symlinks"
-getfattr -h -L -R -m '^user|^xfsroot' -e hex $SCRATCH_MNT
+getfattr -h -L -R -m '^user|^trusted' -e hex $SCRATCH_MNT
echo
echo "*** directory descent without following symlinks"
-getfattr -h -P -R -m '^user|^xfsroot' -e hex $SCRATCH_MNT
+getfattr -h -P -R -m '^user|^trusted' -e hex $SCRATCH_MNT
#
echo "*** clear out the scratch device"
rm -fr $SCRATCH_MNT/*
echo "AFTER REMOVE" >>$seq.full
-getfattr -L -R -m '^user|^xfsroot' $SCRATCH_MNT >>$seq.full
+getfattr -L -R -m '^user|^trusted' $SCRATCH_MNT >>$seq.full
echo "*** reset test bed with no extended attributes"
_create_test_bed
_backup $tmp.backup2
echo "AFTER RESTORE" >>$seq.full
-getfattr -L -R -m '^user|^xfsroot' $SCRATCH_MNT >>$seq.full
+getfattr -L -R -m '^user|^trusted' $SCRATCH_MNT >>$seq.full
echo "*** compare before and after backups"
diff $tmp.backup1 $tmp.backup2
user.name3=0xdeface
-=== TYPE reg; NAMESPACE xfsroot
+=== TYPE reg; NAMESPACE trusted
*** set/get one initially empty attribute
# file: SCRATCH_MNT/reg
-xfsroot.name
+trusted.name
*** overwrite empty, set several new attributes
*** fetch several attribute names and values (hex)
# file: SCRATCH_MNT/reg
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeadbeef
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeadbeef
+trusted.name3=0xdeface
*** fetch several attribute names and values (base64)
# file: SCRATCH_MNT/reg
-xfsroot.name=0sur4=
-xfsroot.name2=0s3q2+7w==
-xfsroot.name3=0s3vrO
+trusted.name=0sur4=
+trusted.name2=0s3q2+7w==
+trusted.name3=0s3vrO
*** shrink value of an existing attribute
# file: SCRATCH_MNT/reg
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeaf
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeaf
+trusted.name3=0xdeface
*** grow value of existing attribute
# file: SCRATCH_MNT/reg
-xfsroot.name=0xbabe
-xfsroot.name2=0xdecade
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdecade
+trusted.name3=0xdeface
*** set an empty value for second attribute
# file: SCRATCH_MNT/reg
-xfsroot.name2
+trusted.name2
*** overwrite empty value
# file: SCRATCH_MNT/reg
-xfsroot.name2=0xcafe
+trusted.name2=0xcafe
*** remove attribute
-SCRATCH_MNT/reg: xfsroot.name2: No such attribute
-*** final list (strings, type=reg, nsp=xfsroot)
+SCRATCH_MNT/reg: trusted.name2: No such attribute
+*** final list (strings, type=reg, nsp=trusted)
# file: SCRATCH_MNT/reg
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
-=== TYPE dir; NAMESPACE xfsroot
+=== TYPE dir; NAMESPACE trusted
*** set/get one initially empty attribute
# file: SCRATCH_MNT/dir
-xfsroot.name
+trusted.name
*** overwrite empty, set several new attributes
*** fetch several attribute names and values (hex)
# file: SCRATCH_MNT/dir
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeadbeef
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeadbeef
+trusted.name3=0xdeface
*** fetch several attribute names and values (base64)
# file: SCRATCH_MNT/dir
-xfsroot.name=0sur4=
-xfsroot.name2=0s3q2+7w==
-xfsroot.name3=0s3vrO
+trusted.name=0sur4=
+trusted.name2=0s3q2+7w==
+trusted.name3=0s3vrO
*** shrink value of an existing attribute
# file: SCRATCH_MNT/dir
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeaf
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeaf
+trusted.name3=0xdeface
*** grow value of existing attribute
# file: SCRATCH_MNT/dir
-xfsroot.name=0xbabe
-xfsroot.name2=0xdecade
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdecade
+trusted.name3=0xdeface
*** set an empty value for second attribute
# file: SCRATCH_MNT/dir
-xfsroot.name2
+trusted.name2
*** overwrite empty value
# file: SCRATCH_MNT/dir
-xfsroot.name2=0xcafe
+trusted.name2=0xcafe
*** remove attribute
-SCRATCH_MNT/dir: xfsroot.name2: No such attribute
-*** final list (strings, type=dir, nsp=xfsroot)
+SCRATCH_MNT/dir: trusted.name2: No such attribute
+*** final list (strings, type=dir, nsp=trusted)
# file: SCRATCH_MNT/dir
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
-=== TYPE lnk; NAMESPACE xfsroot
+=== TYPE lnk; NAMESPACE trusted
*** set/get one initially empty attribute
# file: SCRATCH_MNT/lnk
-xfsroot.name
+trusted.name
*** overwrite empty, set several new attributes
*** fetch several attribute names and values (hex)
# file: SCRATCH_MNT/lnk
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeadbeef
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeadbeef
+trusted.name3=0xdeface
*** fetch several attribute names and values (base64)
# file: SCRATCH_MNT/lnk
-xfsroot.name=0sur4=
-xfsroot.name2=0s3q2+7w==
-xfsroot.name3=0s3vrO
+trusted.name=0sur4=
+trusted.name2=0s3q2+7w==
+trusted.name3=0s3vrO
*** shrink value of an existing attribute
# file: SCRATCH_MNT/lnk
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeaf
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeaf
+trusted.name3=0xdeface
*** grow value of existing attribute
# file: SCRATCH_MNT/lnk
-xfsroot.name=0xbabe
-xfsroot.name2=0xdecade
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdecade
+trusted.name3=0xdeface
*** set an empty value for second attribute
# file: SCRATCH_MNT/lnk
-xfsroot.name2
+trusted.name2
*** overwrite empty value
# file: SCRATCH_MNT/lnk
-xfsroot.name2=0xcafe
+trusted.name2=0xcafe
*** remove attribute
-SCRATCH_MNT/lnk: xfsroot.name2: No such attribute
-*** final list (strings, type=lnk, nsp=xfsroot)
+SCRATCH_MNT/lnk: trusted.name2: No such attribute
+*** final list (strings, type=lnk, nsp=trusted)
# file: SCRATCH_MNT/lnk
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
-=== TYPE dev/b; NAMESPACE xfsroot
+=== TYPE dev/b; NAMESPACE trusted
*** set/get one initially empty attribute
# file: SCRATCH_MNT/dev/b
-xfsroot.name
+trusted.name
*** overwrite empty, set several new attributes
*** fetch several attribute names and values (hex)
# file: SCRATCH_MNT/dev/b
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeadbeef
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeadbeef
+trusted.name3=0xdeface
*** fetch several attribute names and values (base64)
# file: SCRATCH_MNT/dev/b
-xfsroot.name=0sur4=
-xfsroot.name2=0s3q2+7w==
-xfsroot.name3=0s3vrO
+trusted.name=0sur4=
+trusted.name2=0s3q2+7w==
+trusted.name3=0s3vrO
*** shrink value of an existing attribute
# file: SCRATCH_MNT/dev/b
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeaf
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeaf
+trusted.name3=0xdeface
*** grow value of existing attribute
# file: SCRATCH_MNT/dev/b
-xfsroot.name=0xbabe
-xfsroot.name2=0xdecade
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdecade
+trusted.name3=0xdeface
*** set an empty value for second attribute
# file: SCRATCH_MNT/dev/b
-xfsroot.name2
+trusted.name2
*** overwrite empty value
# file: SCRATCH_MNT/dev/b
-xfsroot.name2=0xcafe
+trusted.name2=0xcafe
*** remove attribute
-SCRATCH_MNT/dev/b: xfsroot.name2: No such attribute
-*** final list (strings, type=dev/b, nsp=xfsroot)
+SCRATCH_MNT/dev/b: trusted.name2: No such attribute
+*** final list (strings, type=dev/b, nsp=trusted)
# file: SCRATCH_MNT/dev/b
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
-=== TYPE dev/c; NAMESPACE xfsroot
+=== TYPE dev/c; NAMESPACE trusted
*** set/get one initially empty attribute
# file: SCRATCH_MNT/dev/c
-xfsroot.name
+trusted.name
*** overwrite empty, set several new attributes
*** fetch several attribute names and values (hex)
# file: SCRATCH_MNT/dev/c
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeadbeef
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeadbeef
+trusted.name3=0xdeface
*** fetch several attribute names and values (base64)
# file: SCRATCH_MNT/dev/c
-xfsroot.name=0sur4=
-xfsroot.name2=0s3q2+7w==
-xfsroot.name3=0s3vrO
+trusted.name=0sur4=
+trusted.name2=0s3q2+7w==
+trusted.name3=0s3vrO
*** shrink value of an existing attribute
# file: SCRATCH_MNT/dev/c
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeaf
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeaf
+trusted.name3=0xdeface
*** grow value of existing attribute
# file: SCRATCH_MNT/dev/c
-xfsroot.name=0xbabe
-xfsroot.name2=0xdecade
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdecade
+trusted.name3=0xdeface
*** set an empty value for second attribute
# file: SCRATCH_MNT/dev/c
-xfsroot.name2
+trusted.name2
*** overwrite empty value
# file: SCRATCH_MNT/dev/c
-xfsroot.name2=0xcafe
+trusted.name2=0xcafe
*** remove attribute
-SCRATCH_MNT/dev/c: xfsroot.name2: No such attribute
-*** final list (strings, type=dev/c, nsp=xfsroot)
+SCRATCH_MNT/dev/c: trusted.name2: No such attribute
+*** final list (strings, type=dev/c, nsp=trusted)
# file: SCRATCH_MNT/dev/c
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
-=== TYPE dev/p; NAMESPACE xfsroot
+=== TYPE dev/p; NAMESPACE trusted
*** set/get one initially empty attribute
# file: SCRATCH_MNT/dev/p
-xfsroot.name
+trusted.name
*** overwrite empty, set several new attributes
*** fetch several attribute names and values (hex)
# file: SCRATCH_MNT/dev/p
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeadbeef
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeadbeef
+trusted.name3=0xdeface
*** fetch several attribute names and values (base64)
# file: SCRATCH_MNT/dev/p
-xfsroot.name=0sur4=
-xfsroot.name2=0s3q2+7w==
-xfsroot.name3=0s3vrO
+trusted.name=0sur4=
+trusted.name2=0s3q2+7w==
+trusted.name3=0s3vrO
*** shrink value of an existing attribute
# file: SCRATCH_MNT/dev/p
-xfsroot.name=0xbabe
-xfsroot.name2=0xdeaf
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdeaf
+trusted.name3=0xdeface
*** grow value of existing attribute
# file: SCRATCH_MNT/dev/p
-xfsroot.name=0xbabe
-xfsroot.name2=0xdecade
-xfsroot.name3=0xdeface
+trusted.name=0xbabe
+trusted.name2=0xdecade
+trusted.name3=0xdeface
*** set an empty value for second attribute
# file: SCRATCH_MNT/dev/p
-xfsroot.name2
+trusted.name2
*** overwrite empty value
# file: SCRATCH_MNT/dev/p
-xfsroot.name2=0xcafe
+trusted.name2=0xcafe
*** remove attribute
-SCRATCH_MNT/dev/p: xfsroot.name2: No such attribute
-*** final list (strings, type=dev/p, nsp=xfsroot)
+SCRATCH_MNT/dev/p: trusted.name2: No such attribute
+*** final list (strings, type=dev/p, nsp=trusted)
# file: SCRATCH_MNT/dev/p
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
*** directory descent with us following symlinks
# file: SCRATCH_MNT/reg
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/dir
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/dev/b
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/dev/c
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/dev/p
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/here
-xfsroot.9=0x3837
-xfsroot.a=0x6263
+trusted.9=0x3837
+trusted.a=0x6263
# file: SCRATCH_MNT/here/up
-xfsroot.9=0x3837
-xfsroot.a=0x6263
+trusted.9=0x3837
+trusted.a=0x6263
# file: SCRATCH_MNT/here/up/ascend
-xfsroot.9=0x3837
-xfsroot.a=0x6263
+trusted.9=0x3837
+trusted.a=0x6263
# file: SCRATCH_MNT/descend
user.1=0x3233
*** directory descent without following symlinks
# file: SCRATCH_MNT/reg
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/dir
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/dev/b
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/dev/c
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/dev/p
+trusted.name=0xbabe
+trusted.name3=0xdeface
user.name=0xbabe
user.name3=0xdeface
-xfsroot.name=0xbabe
-xfsroot.name3=0xdeface
# file: SCRATCH_MNT/here
-xfsroot.9=0x3837
-xfsroot.a=0x6263
+trusted.9=0x3837
+trusted.a=0x6263
# file: SCRATCH_MNT/here/up
-xfsroot.9=0x3837
-xfsroot.a=0x6263
+trusted.9=0x3837
+trusted.a=0x6263
# file: SCRATCH_MNT/here/up/ascend
-xfsroot.9=0x3837
-xfsroot.a=0x6263
+trusted.9=0x3837
+trusted.a=0x6263
# file: SCRATCH_MNT/descend
user.1=0x3233