[pve-devel] [PATCH] Fix: #1381 properties in the send stream

Wolfgang Link w.link at proxmox.com
Wed Mar 6 15:43:42 CET 2019


Add properties flag for including the properties in the send stream.

With the flag, we do not brack the current behavior and give the user
who like to sync their properties the capability to send them.
---
 pve-zsync | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/pve-zsync b/pve-zsync
index fa7fc37..1d868e1 100755
--- a/pve-zsync
+++ b/pve-zsync
@@ -212,6 +212,7 @@ sub parse_argv {
 	method => undef,
 	source_user => undef,
 	dest_user => undef,
+	properties => undef,
     };
 
     my ($ret) = GetOptionsFromArray(
@@ -225,7 +226,8 @@ sub parse_argv {
 	'skip' => \$param->{skip},
 	'method=s' => \$param->{method},
 	'source-user=s' => \$param->{source_user},
-	'dest-user=s' => \$param->{dest_user}
+	'dest-user=s' => \$param->{dest_user},
+	'properties' => \$param->{properties},
     );
 
     die "can't parse options\n" if $ret == 0;
@@ -294,6 +296,7 @@ sub param_to_job {
     $job->{source} = $param->{source};
     $job->{source_user} = $param->{source_user};
     $job->{dest_user} = $param->{dest_user};
+    $job->{properties} = $param->{properties} ? $param->{properties} : 0;
 
     return $job;
 }
@@ -439,6 +442,7 @@ sub format_job {
     $text .= " --verbose" if $job->{verbose};
     $text .= " --source-user $job->{source_user}";
     $text .= " --dest-user $job->{dest_user}";
+    $text .= " --properties $job->{properties}" if $job->{properties};
     $text .= "\n";
 
     return $text;
@@ -919,6 +923,7 @@ sub send_image {
 
     push @$cmd, 'ssh', '-o', 'BatchMode=yes', "$param->{source_user}\@$source->{ip}", '--' if $source->{ip};
     push @$cmd, 'zfs', 'send';
+    push @$cmd, '-p', if $param->{properties};
     push @$cmd, '-v' if $param->{verbose};
 
     if($source->{last_snap} && snapshot_exist($source , $dest, $param->{method}, $param->{dest_user})) {
@@ -1079,6 +1084,10 @@ $PROGNAME create -dest <string> -source <string> [OPTIONS]
         -source-user    string
 
 		name of the user on the source target, root by default
+
+	-properties	boolean
+
+		Include the dataset's properties in the stream.
     },
     sync => qq{
 $PROGNAME sync -dest <string> -source <string> [OPTIONS]\n
@@ -1117,6 +1126,10 @@ $PROGNAME sync -dest <string> -source <string> [OPTIONS]\n
 	-verbose   boolean
 
 		print out the sync progress.
+
+	-properties	boolean
+
+		Include the dataset's properties in the stream.
     },
     list => qq{
 $PROGNAME list
-- 
2.11.0





More information about the pve-devel mailing list