Re: [PATCH v14 19/20] vfio: initialize the virqfd workqueue in VFIO generic code

Alex Williamson
2015-03-17T22:29:33Z

On Mon, 2015-03-02 at 17:59 +0100, Baptiste Reynal wrote:
> From: Antonios Motakis <a.motakis@virtualopensystems.com>
>
> Now we have finally completely decoupled virqfd from VFIO_PCI. We can
> initialize it from the VFIO generic code, in order to safely use it from
> multiple independent VFIO bus drivers.
>
> Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com>
> Signed-off-by: Baptiste Reynal <b.reynal@virtualopensystems.com>
> ---
> drivers/vfio/Makefile | 4 +++-
> drivers/vfio/pci/Makefile | 3 +--
> drivers/vfio/pci/vfio_pci.c | 8 --------
> drivers/vfio/vfio.c | 8 ++++++++
> 4 files changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/vfio/Makefile b/drivers/vfio/Makefile
> index dadf0ca..d798b09 100644
> --- a/drivers/vfio/Makefile
> +++ b/drivers/vfio/Makefile
> @@ -1,4 +1,6 @@
> -obj-$(CONFIG_VFIO) += vfio.o
> +vfio_core-y := vfio.o virqfd.o
> +
> +obj-$(CONFIG_VFIO) += vfio_core.o
> obj-$(CONFIG_VFIO_IOMMU_TYPE1) += vfio_iommu_type1.o
> obj-$(CONFIG_VFIO_IOMMU_SPAPR_TCE) += vfio_iommu_spapr_tce.o
> obj-$(CONFIG_VFIO_SPAPR_EEH) += vfio_spapr_eeh.o

This inadvertently (I assume) renames the main vfio module to vfio_core.
That potentially breaks numerous userspace scripts that might try to
load the "vfio" module. I don't think that's acceptable. A brute force
way to fix this would be to rename vfio.c to vfio_core.c and change the
Makefile to:

vfio-y := vfio_core.o virqfd.o
obj-$(CONFIG_VFIO) += vfio.o

Is there any other trickery available to us that could include virqfd.o
in vfio.o w/o source file renaming? Thanks,

Alex