summaryrefslogtreecommitdiffstats
path: root/perl
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-02-12 12:13:40 +0000
committerRichard Jones <rjones@redhat.com>2010-02-12 12:13:40 +0000
commitc03b7e4d756597f30415260a84a3caee3d9d6bde (patch)
treedec40d21472039093e375baff452d0028dc3ff47 /perl
parent33b4b759afe58c959bdc8b904d618aa1d699a240 (diff)
downloadlibguestfs-c03b7e4d756597f30415260a84a3caee3d9d6bde.tar.gz
libguestfs-c03b7e4d756597f30415260a84a3caee3d9d6bde.tar.xz
libguestfs-c03b7e4d756597f30415260a84a3caee3d9d6bde.zip
Sys::Guestfs::Lib::open_guest: Add interface parameter.
This allows you to override the default QEMU block device emulation.
Diffstat (limited to 'perl')
-rw-r--r--perl/lib/Sys/Guestfs/Lib.pm17
1 files changed, 15 insertions, 2 deletions
diff --git a/perl/lib/Sys/Guestfs/Lib.pm b/perl/lib/Sys/Guestfs/Lib.pm
index c9a3237c..e17728d5 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<undef>.
If the C<Sys::Virt> module is not available, then libvirt is bypassed,
and this function can only open disk images.
+The optional C<interface> parameter can be used to open devices with
+C<add_drive{,_ro}_with_if>. See
+L<Sys::Guestfs/guestfs_add_drive_with_if> 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 ($_);
+ }
}
}