Update for root EA names.
authorTim Shimmin <tes@sgi.com>
Thu, 18 Apr 2002 02:45:46 +0000 (02:45 +0000)
committerTim Shimmin <tes@sgi.com>
Thu, 18 Apr 2002 02:45:46 +0000 (02:45 +0000)
063.out
common.dump

diff --git a/063.out b/063.out
index eed2257ba6f3497d878ce0caebdca0f385356614..0964745b9cdb9ff79f8c24ed0f4a5c7d53d8522c 100644 (file)
--- a/063.out
+++ b/063.out
@@ -50,25 +50,29 @@ xfsrestore: Restore Status: SUCCESS
 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
index afc050789ad680e3404a58b9098773561ed97820..1eadfa888624250edc3824fd0da40166d804af40 100644 (file)
@@ -424,13 +424,13 @@ End-of-File
 _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.
@@ -471,7 +471,7 @@ _do_create_dumpdir_fill()
 
     $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
@@ -521,7 +521,11 @@ _do_create_dumpdir_fill()
            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
@@ -1163,6 +1167,7 @@ _get_eas_on_path()
     # 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 }
@@ -1171,6 +1176,16 @@ _get_eas_on_path()
     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
 }
 
 #