On 09/05/12 07:34, Osier Yang wrote:
output of commands like '%virsh nodedev-list --tree --cap pci' could be empty. Remove the useless checking. --- tools/virsh-nodedev.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/virsh-nodedev.c b/tools/virsh-nodedev.c index e784af1..cd88538 100644 --- a/tools/virsh-nodedev.c +++ b/tools/virsh-nodedev.c @@ -197,9 +197,8 @@ cmdNodeListDevices(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) virNodeDeviceFree(dev); } for (i = 0 ; i < num_devices ; i++) { - if (parents[i] == NULL &&
This check here is done so that the tree printing function prints just the root nodes of the tree and not every subtree in the tree. If you remove this check you get something like this most of the times:
virsh # nodedev-list --tree <snip> pci_0000_00_1f_2 | +- scsi_host0 | | | +- scsi_target0_0_0 | | | +- scsi_0_0_0_0 | | | +- block_sda_ST320LT007_9ZV142_W0Q3DQF8 | +- scsi_host1 +- scsi_host2 +- scsi_host3 +- scsi_host4 +- scsi_host5 pci_0000_00_1f_3 pci_0000_03_00_0 | +- net_wlan0_10_0b_a9_c6_f1_20 pci_0000_0d_00_0 pci_0000_0e_00_0 | +- usb_usb3 | | | +- usb_3_0_1_0 | +- usb_usb4 | +- usb_4_0_1_0 scsi_0_0_0_0 | +- block_sda_ST320LT007_9ZV142_W0Q3DQF8 scsi_host0 | +- scsi_target0_0_0 | +- scsi_0_0_0_0 | +- block_sda_ST320LT007_9ZV142_W0Q3DQF8 </snip> (the output is severely truncated). The bug you described is a problem but this solution is not right. You need to modify the root-finding code for other posibilities.
- vshTreePrint(ctl, vshNodeListLookup, &arrays, num_devices, - i) < 0) + if (vshTreePrint(ctl, vshNodeListLookup, + &arrays, num_devices, i) < 0) ret = false; } for (i = 0 ; i < num_devices ; i++) {
NACK to this patch as it breaks the output. Peter -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list