|
|
eae08b |
From 4eaf7009f1346e11a7d8903025d07ecee84ccf36 Mon Sep 17 00:00:00 2001
|
|
|
eae08b |
From: "Daniel P. Berrange" <berrange@redhat.com>
|
|
|
eae08b |
Date: Tue, 6 Aug 2013 14:23:55 +0100
|
|
|
eae08b |
Subject: [PATCH] Fix error handling for virNodeDeviceGetParent()
|
|
|
eae08b |
|
|
|
eae08b |
https://bugzilla.redhat.com/show_bug.cgi?id=994141
|
|
|
eae08b |
|
|
|
eae08b |
It is valid for virNodeDeviceGetParent() to return NULL in the
|
|
|
eae08b |
case where there is no parent device present.
|
|
|
eae08b |
|
|
|
eae08b |
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
|
|
eae08b |
(cherry picked from commit 43666d996feed10d72a1eb03415901d7b3d5332a)
|
|
|
eae08b |
---
|
|
|
eae08b |
Virt.xs | 6 ++++--
|
|
|
eae08b |
examples/node-devlist.pl | 11 +++++++++++
|
|
|
eae08b |
2 files changed, 15 insertions(+), 2 deletions(-)
|
|
|
eae08b |
create mode 100644 examples/node-devlist.pl
|
|
|
eae08b |
|
|
|
eae08b |
diff --git a/Virt.xs b/Virt.xs
|
|
|
eae08b |
index aa4a795..f8ebce7 100644
|
|
|
eae08b |
--- a/Virt.xs
|
|
|
eae08b |
+++ b/Virt.xs
|
|
|
eae08b |
@@ -5390,8 +5390,10 @@ const char *
|
|
|
eae08b |
get_parent(dev)
|
|
|
eae08b |
virNodeDevicePtr dev;
|
|
|
eae08b |
CODE:
|
|
|
eae08b |
- if (!(RETVAL = virNodeDeviceGetParent(dev)))
|
|
|
eae08b |
- _croak_error();
|
|
|
eae08b |
+ if (!(RETVAL = virNodeDeviceGetParent(dev))) {
|
|
|
eae08b |
+ if (virGetLastError() != NULL)
|
|
|
eae08b |
+ _croak_error();
|
|
|
eae08b |
+ }
|
|
|
eae08b |
OUTPUT:
|
|
|
eae08b |
RETVAL
|
|
|
eae08b |
|
|
|
eae08b |
diff --git a/examples/node-devlist.pl b/examples/node-devlist.pl
|
|
|
eae08b |
new file mode 100644
|
|
|
eae08b |
index 0000000..59f6a82
|
|
|
eae08b |
--- /dev/null
|
|
|
eae08b |
+++ b/examples/node-devlist.pl
|
|
|
eae08b |
@@ -0,0 +1,11 @@
|
|
|
eae08b |
+#!/usr/bin/perl
|
|
|
eae08b |
+
|
|
|
eae08b |
+use Sys::Virt;
|
|
|
eae08b |
+
|
|
|
eae08b |
+my $conn = Sys::Virt->new();
|
|
|
eae08b |
+
|
|
|
eae08b |
+my @nodelist = $conn->list_all_node_devices();
|
|
|
eae08b |
+foreach my $dev (@nodelist){
|
|
|
eae08b |
+ my $parent = $dev->get_parent();
|
|
|
eae08b |
+ printf "%s: < %s\n", $dev->get_name(), $parent;
|
|
|
eae08b |
+}
|