On July 29, 2025 1:15 pm, Wolfgang Bumiller wrote:
> Signed-off-by: Wolfgang Bumiller <w.bumil...@proxmox.com>
> ---
>  src/PVE/Storage/ZFSPoolPlugin.pm | 25 ++++++++++++++++---------
>  1 file changed, 16 insertions(+), 9 deletions(-)
> 
> diff --git a/src/PVE/Storage/ZFSPoolPlugin.pm 
> b/src/PVE/Storage/ZFSPoolPlugin.pm
> index 2cae090..83cb9fb 100644
> --- a/src/PVE/Storage/ZFSPoolPlugin.pm
> +++ b/src/PVE/Storage/ZFSPoolPlugin.pm
> @@ -123,7 +123,15 @@ sub zfs_parse_zvol_list {
>      return $list;
>  }
>  
> -my sub image_vtype_from_name : prototype($) {
> +my sub volname_is_subvol : prototype($) {
> +    my ($volname) = @_;
> +    return 1 if $volname =~ /^(?:base-)?subvol-ct-/;
> +    return 1 if $volname =~ /^subvol-/;
> +    return 1 if $volname =~ /^basevol-/;
> +    return 0;
> +}
> +
> +my sub volume_type_from_name : prototype($) {
>      my ($name) = @_;
>  
>      return 'ct-vol' if $name =~ /^(base-)?subvol(-ct)?-/;
> @@ -194,16 +202,15 @@ sub path {
>      my $path = '';
>      my $mountpoint = $scfg->{mountpoint} // "/$scfg->{pool}";
>  
> -    if ($vtype eq "images") {
> -        if ($name =~ m/^subvol-/ || $name =~ m/^basevol-/) {
> -            $path = "$mountpoint/$name";
> -        } else {
> -            $path = "/dev/zvol/$scfg->{pool}/$name";
> -        }
> -        $path .= "\@$snapname" if defined($snapname);
> +    die "$vtype is not allowed in ZFSPool!"
> +        if $vtype ne 'vm-vol' && $vtype ne 'ct-vol' && $vtype ne 'images';

should use the volume_is_vdisk (currently is_volume_type) helper

> +
> +    if (volname_is_subvol($name)) {
> +        $path = "$mountpoint/$name";
>      } else {
> -        die "$vtype is not allowed in ZFSPool!";
> +        $path = "/dev/zvol/$scfg->{pool}/$name";
>      }
> +    $path .= "\@$snapname" if defined($snapname);
>  
>      return ($path, $vmid, $vtype);
>  }
> -- 
> 2.47.2
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to