[libvirt] [PATCH 05/15] nodedev: Move the sysfs-related cap handling to node_device_conf.c
Michal Privoznik
mprivozn at redhat.com
Fri Jan 26 11:40:19 UTC 2018
On 01/25/2018 10:23 AM, Erik Skultety wrote:
> The capabilities are defined/parsed/formatted/queried from this module,
> no reason for 'update' not being part of the module as well. This also
> involves some module-specific prefix changes.
> This patch also drops the node_device_linux_sysfs module from the repo
> since:
> a) it only contained the capability handlers we just moved
> b) it's only linked with the driver (by design) and thus unreachable to
> other modules
> c) we touch sysfs across all the src/util modules so the module being
> deleted hasn't been serving its original intention for some time already.
>
> Signed-off-by: Erik Skultety <eskultet at redhat.com>
> ---
> src/Makefile.am | 4 +-
> src/conf/node_device_conf.c | 154 +++++++++++++++++++++-
> src/conf/node_device_conf.h | 7 +
> src/libvirt_private.syms | 2 +
> src/node_device/node_device_driver.c | 7 +-
> src/node_device/node_device_hal.c | 1 -
> src/node_device/node_device_linux_sysfs.c | 206 ------------------------------
> src/node_device/node_device_linux_sysfs.h | 33 -----
> src/node_device/node_device_udev.c | 5 +-
> 9 files changed, 168 insertions(+), 251 deletions(-)
> delete mode 100644 src/node_device/node_device_linux_sysfs.c
> delete mode 100644 src/node_device/node_device_linux_sysfs.h
>
> diff --git a/src/Makefile.am b/src/Makefile.am
> index 166c9a8e9..b8ecd8df8 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -1168,9 +1168,7 @@ ACCESS_DRIVER_POLKIT_POLICY = \
>
> NODE_DEVICE_DRIVER_SOURCES = \
> node_device/node_device_driver.c \
> - node_device/node_device_driver.h \
> - node_device/node_device_linux_sysfs.c \
> - node_device/node_device_linux_sysfs.h
> + node_device/node_device_driver.h
>
> NODE_DEVICE_DRIVER_HAL_SOURCES = \
> node_device/node_device_hal.c \
> diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
> index 70a753ebf..5b0af559a 100644
> --- a/src/conf/node_device_conf.c
> +++ b/src/conf/node_device_conf.c
> int
> -virNodeDeviceGetSCSIHostCaps(virNodeDevCap)
> +virNodeDeviceGetPCIDynamicCaps(const char *sysfsPath,
> + virNodeDevCapPCIDevPtr pci_dev)
> +{
ATTRIBUTE_UNUSED to both. Also, it seems interesting that for rename of
SCSI version of the function you have a separate patch but for PCI you
do it in one run. I share your feelings towards PCI, SCSI is so much
better bus and thus deserves its own patch :-)
> + return -1;
> +}
> +
> +
> +int virNodeDeviceGetSCSITargetCaps(const char *sysfsPath ATTRIBUTE_UNUSED,
> + virNodeDevCapSCSITargetPtr scsi_target ATTRIBUTE_UNUSED)
> {
> return -1;
> }
> diff --git a/src/conf/node_device_conf.h b/src/conf/node_device_conf.h
> index cf79773aa..4e3154875 100644
> --- a/src/conf/node_device_conf.h
> +++ b/src/conf/node_device_conf.h
> @@ -393,4 +393,11 @@ virNodeDeviceDeleteVport(virConnectPtr conn,
> int
> virNodeDeviceGetSCSIHostCaps(virNodeDevCapSCSIHostPtr scsi_host);
>
> +int
> +virNodeDeviceGetSCSITargetCaps(const char *sysfsPath,
> + virNodeDevCapSCSITargetPtr scsi_target);
> +
> +int
> +virNodeDeviceGetPCIDynamicCaps(const char *sysfsPath,
> + virNodeDevCapPCIDevPtr pci_dev);
> #endif /* __VIR_NODE_DEVICE_CONF_H__ */
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index bc8cc1fba..0cd8086a6 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -707,7 +707,9 @@ virNodeDeviceDefParseNode;
> virNodeDeviceDefParseString;
> virNodeDeviceDeleteVport;
> virNodeDeviceGetParentName;
> +virNodeDeviceGetPCIDynamicCaps;
> virNodeDeviceGetSCSIHostCaps;
> +virNodeDeviceGetSCSITargetCaps;
> virNodeDeviceGetWWNs;
>
>
> diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c
> index a2f687942..2e42d3527 100644
> --- a/src/node_device/node_device_driver.c
> +++ b/src/node_device/node_device_driver.c
> @@ -38,7 +38,6 @@
> #include "node_device_event.h"
> #include "node_device_driver.h"
> #include "node_device_hal.h"
> -#include "node_device_linux_sysfs.h"
> #include "virvhba.h"
> #include "viraccessapicheck.h"
> #include "virnetdev.h"
> @@ -59,7 +58,7 @@ nodeDeviceUpdateCaps(virNodeDeviceDefPtr def)
> virNodeDeviceGetSCSIHostCaps(&cap->data.scsi_host);
> break;
> case VIR_NODE_DEV_CAP_SCSI_TARGET:
> - nodeDeviceSysfsGetSCSITargetCaps(def->sysfs_path,
> + virNodeDeviceGetSCSITargetCaps(def->sysfs_path,
> &cap->data.scsi_target);
> break;
> case VIR_NODE_DEV_CAP_NET:
> @@ -70,8 +69,8 @@ nodeDeviceUpdateCaps(virNodeDeviceDefPtr def)
> return -1;
> break;
> case VIR_NODE_DEV_CAP_PCI_DEV:
> - if (nodeDeviceSysfsGetPCIRelatedDevCaps(def->sysfs_path,
> - &cap->data.pci_dev) < 0)
> + if (virNodeDeviceGetPCIDynamicCaps(def->sysfs_path,
> + &cap->data.pci_dev) < 0)
> return -1;
> break;
>
> diff --git a/src/node_device/node_device_hal.c b/src/node_device/node_device_hal.c
> index 4c50f4613..f98fd0856 100644
> --- a/src/node_device/node_device_hal.c
> +++ b/src/node_device/node_device_hal.c
> @@ -31,7 +31,6 @@
> #include "node_device_conf.h"
> #include "node_device_driver.h"
> #include "node_device_hal.h"
> -#include "node_device_linux_sysfs.h"
> #include "virerror.h"
> #include "driver.h"
> #include "datatypes.h"
Ah, this is the place for the hunk I'm mentioning in the previous patch.
ACK if you fix it.
Michal
More information about the libvir-list
mailing list