From c03b7e4d756597f30415260a84a3caee3d9d6bde Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Fri, 12 Feb 2010 12:13:40 +0000 Subject: [PATCH] Sys::Guestfs::Lib::open_guest: Add interface parameter. This allows you to override the default QEMU block device emulation. --- perl/lib/Sys/Guestfs/Lib.pm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/perl/lib/Sys/Guestfs/Lib.pm b/perl/lib/Sys/Guestfs/Lib.pm index c9a3237..e17728d 100644 --- a/perl/lib/Sys/Guestfs/Lib.pm +++ b/perl/lib/Sys/Guestfs/Lib.pm @@ -117,6 +117,10 @@ disk image, then C<$conn> and C<$dom> will be C. If the C module is not available, then libvirt is bypassed, and this function can only open disk images. +The optional C parameter can be used to open devices with +C. See +L for more details. + =cut sub open_guest @@ -127,6 +131,7 @@ sub open_guest my $rw = $params{rw}; my $address = $params{address}; + my $interface = $params{interface}; my @images = (); if (ref ($first) eq "ARRAY") { @@ -203,9 +208,17 @@ sub open_guest my $g = Sys::Guestfs->new (); foreach (@images) { if ($rw) { - $g->add_drive ($_); + if ($interface) { + $g->add_drive_with_if ($_, $interface); + } else { + $g->add_drive ($_); + } } else { - $g->add_drive_ro ($_); + if ($interface) { + $g->add_drive_ro_with_if ($_, $interface); + } else { + $g->add_drive_ro ($_); + } } } -- 1.8.3.1