Alex Jia
2012-Jul-11 10:33 UTC
[Libguestfs] [PATCH] virt-v2v: Create a libvirt-friendly volume name
The $vmdk value is a directory name in ESX.pm, although the later codes
replace '/' with '_', the volume name isn't still friendly,
for example,
it looks like this:
# virsh vol-list pool-dir
Name Path
-----------------------------------------
esx4.1-rhel6.2-x86_64_esx4.1-rhel6.2-x86_64
/mnt/esx4.1-rhel6.2-x86_64_esx4.1-rhel6.2-x86_64
With the patch, the volume name is very friendly like guest name:
# virsh vol-list pool-dir
Name Path
-----------------------------------------
esx4.1-rhel6.2-x86_64 /mnt/esx4.1-rhel6.2-x86_64
Signed-off-by: Alex Jia <ajia at redhat.com>
---
lib/Sys/VirtConvert/Transfer/ESX.pm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/Sys/VirtConvert/Transfer/ESX.pm
b/lib/Sys/VirtConvert/Transfer/ESX.pm
index 23969cd..f29eb31 100644
--- a/lib/Sys/VirtConvert/Transfer/ESX.pm
+++ b/lib/Sys/VirtConvert/Transfer/ESX.pm
@@ -368,8 +368,9 @@ sub new
}
# Create a libvirt-friendly volume name
- $self->{name} = $vmdk;
- $self->{name} =~ s,/,_,g;
+ use File::Basename;
+ my($name, $dir, $suffix) = fileparse($vmdk);
+ $self->{name} = $name;
return $self;
}
--
1.7.10.4
Alex Jia
2012-Jul-16 10:00 UTC
[Libguestfs] [PATCH] virt-v2v: Create a libvirt-friendly volume name
On 07/11/2012 06:33 PM, Alex Jia wrote:> The $vmdk value is a directory name in ESX.pm, although the later codes > replace '/' with '_', the volume name isn't still friendly, for example, > it looks like this: > > # virsh vol-list pool-dir > Name Path > ----------------------------------------- > esx4.1-rhel6.2-x86_64_esx4.1-rhel6.2-x86_64 /mnt/esx4.1-rhel6.2-x86_64_esx4.1-rhel6.2-x86_64 > > > With the patch, the volume name is very friendly like guest name: > > # virsh vol-list pool-dir > Name Path > ----------------------------------------- > esx4.1-rhel6.2-x86_64 /mnt/esx4.1-rhel6.2-x86_64 > > > Signed-off-by: Alex Jia<ajia at redhat.com> > --- > lib/Sys/VirtConvert/Transfer/ESX.pm | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/lib/Sys/VirtConvert/Transfer/ESX.pm b/lib/Sys/VirtConvert/Transfer/ESX.pm > index 23969cd..f29eb31 100644 > --- a/lib/Sys/VirtConvert/Transfer/ESX.pm > +++ b/lib/Sys/VirtConvert/Transfer/ESX.pm > @@ -368,8 +368,9 @@ sub new > } > > # Create a libvirt-friendly volume name > - $self->{name} = $vmdk; > - $self->{name} =~ s,/,_,g; > + use File::Basename; > + my($name, $dir, $suffix) = fileparse($vmdk); > + $self->{name} = $name; > > return $self; > }Hi Matt, any advise about this?
Maybe Matching Threads
- [PATCH 1/7] Push $desc creation into Sys::VirtConvert::Converter->convert
- [PATCH] Remove call to set_autosync.
- Re: [PATCH] virt-v2v: Convert RedHat.pm to Linux.pm - for SUSE support
- [PATCH] Don't set distro for non-Linux guests
- [PATCH] virt-v2v: Fix typo in Windows conversion warning message