Comparing dump directory with restore directory
Looking at the extended attributes (EAs)
EAs on dump
-Attribute "attr2" had a 10 byte value for DUMP_DIR/biggg:
-some_text2
+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 "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
-some_text4
Attribute "attr3" had a 10 byte value for DUMP_DIR/sub/smalll:
some_text3
-EAs on restore
+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 "attr4" had a 10 byte value for DUMP_DIR/sub/biggg:
-some_text4
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 063.ea1 and 063.ea2 are identical
_mk_fillconfig_ea()
{
cat <<End-of-File >$tmp.config
-# pathname size user group perm name value
+# pathname size user group perm name value namespace
#
-smalll 10 $nobody $nobody 777 attr1 some_text
-biggg 102400 $nobody $nobody 777 attr2 some_text2
-sub/smalll 10 $nobody $nobody 777 attr3 some_text3
-sub/biggg 102400 $nobody $nobody 777 attr4 some_text4
-dir d $nobody $nobody 777 attr5 dir_text
+smalll 10 $nobody $nobody 777 attr1 some_text user
+biggg 102400 $nobody $nobody 777 attr2 some_text2 root
+sub/smalll 10 $nobody $nobody 777 attr3 some_text3 user
+sub/biggg 102400 $nobody $nobody 777 attr4 some_text4 root
+dir d $nobody $nobody 777 attr5 dir_text user
#
# Add more files so that there are more than the number
# of streams.
$verbose && echo -n "Setup "
sed -e '/^#/d' $tmp.config \
- | while read file nbytes owner group perms ea_name ea_value
+ | while read file nbytes owner group perms ea_name ea_value namespace
do
if [ $nbytes = "d" ]; then
# create a directory
chmod $perms $file
fi
if [ -n "$ea_name" -a -n "$ea_value" ]; then
- attr -s $ea_name -V $ea_value $file
+ if [ "X$namespace" = "Xroot" ]; then
+ attr -R -s $ea_name -V $ea_value $file
+ else
+ attr -s $ea_name -V $ea_value $file
+ fi
fi
$verbose && echo -n "."
done
# sed 's/["]//g' |\
# sort |\
# and this is now the Linux way...
+ echo "User names"
getfattr --absolute-names -Rh $_path |\
perl -wn -e '
if (m/^# file: (\S+)/) { $file = $1 }
while read file ea_name; do
attr -g $ea_name $file
done
+
+ echo "Root names"
+ getfattr --absolute-names -Rh -m xfsroot $_path |\
+ perl -wn -e '
+ if (m/^# file: (\S+)/) { $file = $1 }
+ elsif (m/^xfsroot\.(\w+)/) { print $file, " ",$1,"\n" }' |\
+ sort |\
+ while read file ea_name; do
+ attr -R -g $ea_name $file
+ done
}
#