[pve-devel] [PATCH pve-zsync] fix to many slashes in recv path

Dietmar Maurer dietmar at proxmox.com
Tue Nov 3 11:29:47 CET 2015


> diff --git a/pve-zsync b/pve-zsync
> index 4941456..005795f 100644
> --- a/pve-zsync
> +++ b/pve-zsync
> @@ -43,7 +43,7 @@ my $HOSTv4RE0 = "(?:[\\w\\.\\-_]+|$IPV4RE)";       #
> hostname or ipv4 address
>  my $HOSTv4RE1 = "(?:$HOSTv4RE0|\\[$HOSTv4RE0\\])"; # these may be in
> brackets, too
>  my $HOSTRE = "(?:$HOSTv4RE1|\\[$IPV6RE\\])";       # ipv6 must always be in
> brackets
>  # targets are either a VMID, or a 'host:zpool/path' with 'host:' being
> optional
> -my $TARGETRE = qr!^(?:($HOSTRE):)?(\d+|(?:[\w\-_]+)(/.+)?)$!;
> +my $TARGETRE = qr!^(?:($HOSTRE):)?(\d+|(?:[\w\-_]+)(/.+[^/])?)$!;

I would allow all path, and replace double / when needed with s!/+!/!g

>  check_bin ('cstream');
>  check_bin ('zfs');
> @@ -734,7 +734,7 @@ sub parse_disks {
>  	push @$cmd, 'pvesm', 'path', "$stor$disk";
>  	my $path = run_cmd($cmd);
>  
> -	if ($path =~ m/^\/dev\/zvol\/(\w+.*)(\/$disk)$/) {
> +	if ($path =~ m/^\/dev\/zvol\/(\w+.*)\/($disk)$/) {

I guess it would be easier to read if you use ! as delimiter?

+	if ($path =~ m!^/dev/zvol/(\w+.*)/($disk)$!) {

>  
>  	    my @array = split('/', $1);
>  	    $disks->{$num}->{pool} = shift(@array);
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 




More information about the pve-devel mailing list