>>Thanks. Do you think it would make sense to add: >> >>sub volume_exists($volid) >> >>to our storage library?
Yes, maybe, this can avoid to list all images. Another way could be to reuse volume_size_info, if the volume don't exist, it should die By the way, I see in VZdump/QemuServer.pm, just after the if $path exist: my ($size, $format) = PVE::Storage::Plugin::file_size_info($path); only use to find format of files. So maybe can we remove the $path check, and simply replace PVE::Storage::Plugin::file_size_info by PVE::Storage::volume_size_info ? ----- Mail original ----- De: "Dietmar Maurer" <[email protected]> À: "Alexandre Derumier" <[email protected]>, [email protected] Envoyé: Samedi 16 Février 2013 19:38:04 Objet: RE: [pve-devel] [PATCH] vzdump : fix check if volid exist for "virtual" storage : rbd, sheepdog, nexenta Thanks. Do you think it would make sense to add: sub volume_exists($volid) to our storage library? > -----Original Message----- > From: [email protected] [mailto:pve-devel- > [email protected]] On Behalf Of Alexandre Derumier > Sent: Samstag, 16. Februar 2013 18:23 > To: [email protected] > Subject: [pve-devel] [PATCH] vzdump : fix check if volid exist for "virtual" > storage : rbd, sheepdog, nexenta > > > Signed-off-by: Alexandre Derumier <[email protected]> > --- > PVE/VZDump/QemuServer.pm | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm > index ad85cc2..0f2536e 100644 > --- a/PVE/VZDump/QemuServer.pm > +++ b/PVE/VZDump/QemuServer.pm > @@ -94,7 +94,19 @@ sub prepare { > > next if !$path; > > - die "no such volume '$volid'\n" if ! -e $path; > + if (! -e $path){ > + my $dl = PVE::Storage::vdisk_list($self->{storecfg}, $storeid, undef); > + my $foundvolid = undef; > + > + PVE::Storage::foreach_volid($dl, sub { > + my ($volumeid) = @_; > + if($volumeid eq $volid) { > + $foundvolid = 1; > + return; > + } > + }); > + die "no such volume '$volid'\n" if !$foundvolid; > + } > > my ($size, $format) = PVE::Storage::Plugin::file_size_info($path); > > -- > 1.7.10.4 > > _______________________________________________ > pve-devel mailing list > [email protected] > http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel _______________________________________________ pve-devel mailing list [email protected] http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
