virsh: nodedev: Filter by AP card and AP queue capabilities

Add support to filter by 'ap_card' and 'ap_queue' capabilities.

Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Farhan Ali 2020-12-03 18:59:37 +01:00 committed by Erik Skultety
parent 4d7fd6f09e
commit d2c731c9e2
6 changed files with 15 additions and 3 deletions

View File

@ -5043,7 +5043,7 @@ List all of the devices available on the node that are known by libvirt.
separated by comma, e.g. --cap pci,scsi. Valid capability types include
'system', 'pci', 'usb_device', 'usb', 'net', 'scsi_host', 'scsi_target',
'scsi', 'storage', 'fc_host', 'vports', 'scsi_generic', 'drm', 'mdev',
'mdev_types', 'ccw', 'css'.
'mdev_types', 'ccw', 'css', 'ap_card', 'ap_queue'.
If *--tree* is used, the output is formatted in a tree representing parents of each
node. *cap* and *--tree* are mutually exclusive.

View File

@ -83,6 +83,8 @@ typedef enum {
VIR_CONNECT_LIST_NODE_DEVICES_CAP_CCW_DEV = 1 << 15, /* CCW device */
VIR_CONNECT_LIST_NODE_DEVICES_CAP_CSS_DEV = 1 << 16, /* CSS device */
VIR_CONNECT_LIST_NODE_DEVICES_CAP_VDPA = 1 << 17, /* vDPA device */
VIR_CONNECT_LIST_NODE_DEVICES_CAP_AP_CARD = 1 << 18, /* s390 AP Card device */
VIR_CONNECT_LIST_NODE_DEVICES_CAP_AP_QUEUE = 1 << 19, /* s390 AP Queue */
} virConnectListAllNodeDeviceFlags;
int virConnectListAllNodeDevices (virConnectPtr conn,

View File

@ -402,7 +402,9 @@ virNodeDevCapsDefFree(virNodeDevCapsDefPtr caps);
VIR_CONNECT_LIST_NODE_DEVICES_CAP_MDEV | \
VIR_CONNECT_LIST_NODE_DEVICES_CAP_CCW_DEV | \
VIR_CONNECT_LIST_NODE_DEVICES_CAP_CSS_DEV | \
VIR_CONNECT_LIST_NODE_DEVICES_CAP_VDPA)
VIR_CONNECT_LIST_NODE_DEVICES_CAP_VDPA | \
VIR_CONNECT_LIST_NODE_DEVICES_CAP_AP_CARD | \
VIR_CONNECT_LIST_NODE_DEVICES_CAP_AP_QUEUE)
int
virNodeDeviceGetSCSIHostCaps(virNodeDevCapSCSIHostPtr scsi_host);

View File

@ -871,7 +871,9 @@ virNodeDeviceObjMatch(virNodeDeviceObjPtr obj,
MATCH(MDEV) ||
MATCH(CCW_DEV) ||
MATCH(CSS_DEV) ||
MATCH(VDPA)))
MATCH(VDPA) ||
MATCH(AP_CARD) ||
MATCH(AP_QUEUE)))
return false;
}

View File

@ -102,6 +102,8 @@ virNodeNumOfDevices(virConnectPtr conn, const char *cap, unsigned int flags)
* VIR_CONNECT_LIST_NODE_DEVICES_CAP_MDEV
* VIR_CONNECT_LIST_NODE_DEVICES_CAP_CCW_DEV
* VIR_CONNECT_LIST_NODE_DEVICES_CAP_CSS_DEV
* VIR_CONNECT_LIST_NODE_DEVICES_CAP_AP_CARD
* VIR_CONNECT_LIST_NODE_DEVICES_CAP_AP_QUEUE
*
* Returns the number of node devices found or -1 and sets @devices to NULL in
* case of error. On success, the array stored into @devices is guaranteed to

View File

@ -468,7 +468,11 @@ cmdNodeListDevices(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
flags |= VIR_CONNECT_LIST_NODE_DEVICES_CAP_VDPA;
break;
case VIR_NODE_DEV_CAP_AP_CARD:
flags |= VIR_CONNECT_LIST_NODE_DEVICES_CAP_AP_CARD;
break;
case VIR_NODE_DEV_CAP_AP_QUEUE:
flags |= VIR_CONNECT_LIST_NODE_DEVICES_CAP_AP_QUEUE;
break;
case VIR_NODE_DEV_CAP_LAST:
break;
}