All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P
@ 2018-07-02 16:31 Paolo Bonzini
  2018-07-02 16:56 ` Peter Maydell
  2018-07-03  8:00 ` Greg Kurz
  0 siblings, 2 replies; 6+ messages in thread
From: Paolo Bonzini @ 2018-07-02 16:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: groug

hw/9pfs/Makefile.objs uses CONFIG_VIRTIO_9P to guard the definition for
FileOperations structs, while fsdev/Makefile.objs uses CONFIG_VIRTIO
to guard the use.  Mismatch causes linking to fail when CONFIG_VIRTIO
is set but CONFIG_VIRTIO_9P is not.

Fix it and use if/else to clarify that the two lines are for opposite
conditions.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Fixes: b5dfdb082fc350f3e68dfa61dc988d97cad28cfe
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 fsdev/Makefile.objs | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs
index fb38017c0b..24bbb3e75c 100644
--- a/fsdev/Makefile.objs
+++ b/fsdev/Makefile.objs
@@ -1,7 +1,10 @@
 # Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
 # only pull in the actual 9p backend if we also enabled virtio or xen.
-common-obj-$(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO),$(CONFIG_XEN))) = qemu-fsdev.o 9p-marshal.o 9p-iov-marshal.o
-common-obj-$(call lnot,$(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO),$(CONFIG_XEN)))) = qemu-fsdev-dummy.o
+ifeq ($(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO_9P),$(CONFIG_XEN))),y)
+common-obj-y = qemu-fsdev.o 9p-marshal.o 9p-iov-marshal.o
+else
+common-obj-y = qemu-fsdev-dummy.o
+endif
 common-obj-y += qemu-fsdev-opts.o qemu-fsdev-throttle.o
 
 # Toplevel always builds this; targets without virtio will put it in
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P
  2018-07-02 16:31 [Qemu-devel] [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P Paolo Bonzini
@ 2018-07-02 16:56 ` Peter Maydell
  2018-07-02 17:14   ` Paolo Bonzini
  2018-07-03  8:00 ` Greg Kurz
  1 sibling, 1 reply; 6+ messages in thread
From: Peter Maydell @ 2018-07-02 16:56 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers, Greg Kurz

On 2 July 2018 at 17:31, Paolo Bonzini <pbonzini@redhat.com> wrote:
> hw/9pfs/Makefile.objs uses CONFIG_VIRTIO_9P to guard the definition for
> FileOperations structs, while fsdev/Makefile.objs uses CONFIG_VIRTIO
> to guard the use.  Mismatch causes linking to fail when CONFIG_VIRTIO
> is set but CONFIG_VIRTIO_9P is not.
>
> Fix it and use if/else to clarify that the two lines are for opposite
> conditions.
>
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Fixes: b5dfdb082fc350f3e68dfa61dc988d97cad28cfe
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  fsdev/Makefile.objs | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

I've also just noticed that hw/Makefile.objs guards the use
of the hw/9pfs directory with
devices-dirs-$(call land,$(CONFIG_VIRTFS),$(call
lor,$(CONFIG_VIRTIO),$(CONFIG_XEN))) += 9pfs/

so after b5dfdb082fc we're now somewhat redundantly guarding
the object files with both this check and with the new one
inside hw/9pfs/Makefile.objs. Maybe we should make the
hw/Makefile.objs guard use CONFIG_VIRTIO_9P where it
currently has CONFIG_VIRTIO and then drop the ifeq in
hw/9pfs/Makefile.objs ?

thanks
-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P
  2018-07-02 16:56 ` Peter Maydell
@ 2018-07-02 17:14   ` Paolo Bonzini
  0 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2018-07-02 17:14 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers, Greg Kurz

On 02/07/2018 18:56, Peter Maydell wrote:
> On 2 July 2018 at 17:31, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> hw/9pfs/Makefile.objs uses CONFIG_VIRTIO_9P to guard the definition for
>> FileOperations structs, while fsdev/Makefile.objs uses CONFIG_VIRTIO
>> to guard the use.  Mismatch causes linking to fail when CONFIG_VIRTIO
>> is set but CONFIG_VIRTIO_9P is not.
>>
>> Fix it and use if/else to clarify that the two lines are for opposite
>> conditions.
>>
>> Reported-by: Peter Maydell <peter.maydell@linaro.org>
>> Fixes: b5dfdb082fc350f3e68dfa61dc988d97cad28cfe
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>>  fsdev/Makefile.objs | 7 +++++--
>>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> 
> I've also just noticed that hw/Makefile.objs guards the use
> of the hw/9pfs directory with
> devices-dirs-$(call land,$(CONFIG_VIRTFS),$(call
> lor,$(CONFIG_VIRTIO),$(CONFIG_XEN))) += 9pfs/
> 
> so after b5dfdb082fc we're now somewhat redundantly guarding
> the object files with both this check and with the new one
> inside hw/9pfs/Makefile.objs. Maybe we should make the
> hw/Makefile.objs guard use CONFIG_VIRTIO_9P where it
> currently has CONFIG_VIRTIO and then drop the ifeq in
> hw/9pfs/Makefile.objs ?

Yes, that makes sense.

Paolo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P
  2018-07-02 16:31 [Qemu-devel] [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P Paolo Bonzini
  2018-07-02 16:56 ` Peter Maydell
@ 2018-07-03  8:00 ` Greg Kurz
  2018-07-03  8:46   ` Peter Maydell
  1 sibling, 1 reply; 6+ messages in thread
From: Greg Kurz @ 2018-07-03  8:00 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, Peter Maydell

On Mon,  2 Jul 2018 18:31:25 +0200
Paolo Bonzini <pbonzini@redhat.com> wrote:

> hw/9pfs/Makefile.objs uses CONFIG_VIRTIO_9P to guard the definition for
> FileOperations structs, while fsdev/Makefile.objs uses CONFIG_VIRTIO
> to guard the use.  Mismatch causes linking to fail when CONFIG_VIRTIO
> is set but CONFIG_VIRTIO_9P is not.
> 
> Fix it and use if/else to clarify that the two lines are for opposite
> conditions.
> 
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Fixes: b5dfdb082fc350f3e68dfa61dc988d97cad28cfe
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---

Acked-by: Greg Kurz <groug@kaod.org>
Tested-by: Greg Kurz <groug@kaod.org>

Peter,

I see this patch is needed for the latest RISC-V pull req. Will you
apply it to master directly or should it go through my tree and I send
you a pull req ASAP ?

>  fsdev/Makefile.objs | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs
> index fb38017c0b..24bbb3e75c 100644
> --- a/fsdev/Makefile.objs
> +++ b/fsdev/Makefile.objs
> @@ -1,7 +1,10 @@
>  # Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
>  # only pull in the actual 9p backend if we also enabled virtio or xen.
> -common-obj-$(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO),$(CONFIG_XEN))) = qemu-fsdev.o 9p-marshal.o 9p-iov-marshal.o
> -common-obj-$(call lnot,$(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO),$(CONFIG_XEN)))) = qemu-fsdev-dummy.o
> +ifeq ($(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO_9P),$(CONFIG_XEN))),y)
> +common-obj-y = qemu-fsdev.o 9p-marshal.o 9p-iov-marshal.o
> +else
> +common-obj-y = qemu-fsdev-dummy.o
> +endif
>  common-obj-y += qemu-fsdev-opts.o qemu-fsdev-throttle.o
>  
>  # Toplevel always builds this; targets without virtio will put it in

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P
  2018-07-03  8:00 ` Greg Kurz
@ 2018-07-03  8:46   ` Peter Maydell
  2018-07-03  9:45     ` Greg Kurz
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Maydell @ 2018-07-03  8:46 UTC (permalink / raw)
  To: Greg Kurz; +Cc: Paolo Bonzini, QEMU Developers

On 3 July 2018 at 09:00, Greg Kurz <groug@kaod.org> wrote:
> On Mon,  2 Jul 2018 18:31:25 +0200
> Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>> hw/9pfs/Makefile.objs uses CONFIG_VIRTIO_9P to guard the definition for
>> FileOperations structs, while fsdev/Makefile.objs uses CONFIG_VIRTIO
>> to guard the use.  Mismatch causes linking to fail when CONFIG_VIRTIO
>> is set but CONFIG_VIRTIO_9P is not.
>>
>> Fix it and use if/else to clarify that the two lines are for opposite
>> conditions.
>>
>> Reported-by: Peter Maydell <peter.maydell@linaro.org>
>> Fixes: b5dfdb082fc350f3e68dfa61dc988d97cad28cfe
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>
> Acked-by: Greg Kurz <groug@kaod.org>
> Tested-by: Greg Kurz <groug@kaod.org>
>
> Peter,
>
> I see this patch is needed for the latest RISC-V pull req.

It isn't, because that pullreq only fails because of what
looks to me like a rebase mismerge that made it change how
the riscv default-configs enable virtio. The riscv pullreq
should be fixed. This is just a cleanup, really.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P
  2018-07-03  8:46   ` Peter Maydell
@ 2018-07-03  9:45     ` Greg Kurz
  0 siblings, 0 replies; 6+ messages in thread
From: Greg Kurz @ 2018-07-03  9:45 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers

On Tue, 3 Jul 2018 09:46:01 +0100
Peter Maydell <peter.maydell@linaro.org> wrote:

> On 3 July 2018 at 09:00, Greg Kurz <groug@kaod.org> wrote:
> > On Mon,  2 Jul 2018 18:31:25 +0200
> > Paolo Bonzini <pbonzini@redhat.com> wrote:
> >  
> >> hw/9pfs/Makefile.objs uses CONFIG_VIRTIO_9P to guard the definition for
> >> FileOperations structs, while fsdev/Makefile.objs uses CONFIG_VIRTIO
> >> to guard the use.  Mismatch causes linking to fail when CONFIG_VIRTIO
> >> is set but CONFIG_VIRTIO_9P is not.
> >>
> >> Fix it and use if/else to clarify that the two lines are for opposite
> >> conditions.
> >>
> >> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> >> Fixes: b5dfdb082fc350f3e68dfa61dc988d97cad28cfe
> >> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> >> ---  
> >
> > Acked-by: Greg Kurz <groug@kaod.org>
> > Tested-by: Greg Kurz <groug@kaod.org>
> >
> > Peter,
> >
> > I see this patch is needed for the latest RISC-V pull req.  
> 
> It isn't, because that pullreq only fails because of what
> looks to me like a rebase mismerge that made it change how
> the riscv default-configs enable virtio. The riscv pullreq
> should be fixed. This is just a cleanup, really.
> 

Ok, thanks for the clarification.

I've applied this to 9p-next.

> thanks
> -- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-07-03  9:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-02 16:31 [Qemu-devel] [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P Paolo Bonzini
2018-07-02 16:56 ` Peter Maydell
2018-07-02 17:14   ` Paolo Bonzini
2018-07-03  8:00 ` Greg Kurz
2018-07-03  8:46   ` Peter Maydell
2018-07-03  9:45     ` Greg Kurz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.