All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Garzarella <sgarzare@redhat.com>
To: Tim Pambor <timpambor@gmail.com>
Cc: "Stefan Hajnoczi" <stefanha@redhat.com>,
	qemu-devel@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Kevin Wolf" <kwolf@redhat.com>,
	"Hanna Reitz" <hreitz@redhat.com>,
	"Jason Wang" <jasowangio@gmail.com>,
	"Pierrick Bouvier" <pierrick.bouvier@oss.qualcomm.com>,
	qemu-block@nongnu.org, "Raphael Norwitz" <rnorwitz@nvidia.com>,
	"Brad Smith" <brad@comstyle.com>,
	"Philippe Mathieu-Daudé" <philmd@oss.qualcomm.com>,
	"David Hildenbrand" <david@kernel.org>
Subject: Re: [PATCH 5/8] vhost-user: enable frontends on any POSIX system
Date: Thu, 29 Oct 2026 10:05:42 +0100	[thread overview]
Message-ID: <auMLJ4rBHJBtCU51@sgarzare-redhat> (raw)
In-Reply-To: <CAOX+r5_G66x98G08xG1R-R3wGENOxKjh54KE5pR69DmGahnQDw@mail.gmail.com>

On Wed, Oct 28, 2026 at 08:33:30PM +0100, Tim Pambor wrote:
>On Wed, Oct 28, 2026 at 7:44 PM Stefan Hajnoczi <stefanha@redhat.com> wrote:
>>
>> On Wed, Oct 28, 2026 at 02:23:55PM +0100, Stefano Garzarella wrote:
>> > On Wed, Oct 28, 2026 at 08:33:46AM -0400, Stefan Hajnoczi wrote:
>> > > On Wed, Oct 28, 2026 at 09:32:05AM +0100, Stefano Garzarella wrote:
>> > > > On Tue, Oct 27, 2026 at 03:24:45PM -0400, Stefan Hajnoczi wrote:
>> > > > > On Thu, Oct 22, 2026 at 03:47:26PM +0200, Tim Pambor wrote:
>> > > > > > diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
>> > > > > > index 6e05c995f1..788913953d 100644
>> > > > > > --- a/hw/net/vhost_net.c
>> > > > > > +++ b/hw/net/vhost_net.c
>> > > > > > @@ -33,7 +33,13 @@
>> > > > > >  #include "standard-headers/linux/virtio_ring.h"
>> > > > > >  #include "hw/virtio/vhost.h"
>> > > > > >  #include "hw/virtio/virtio-bus.h"
>> > > > > > +#if defined(__linux__)
>> > > > > >  #include "linux-headers/linux/vhost.h"
>> > > > > > +#endif
>> > > > > > +
>> > > > > > +#ifndef VHOST_FILE_UNBIND
>> > > > > > +#define VHOST_FILE_UNBIND -1
>> > > > > > +#endif
>> > > > >
>> > > > > This constant is for hw/virtio/vhost.c's vhost_net_set_backend() API. It
>> > > > > should be defined along with that API. Define it alongside
>> > > > > vhost_net_set_backend() in hw/virtio/vhost.h and call it
>> > > > > VHOST_NET_FILE_UNBIND?
>> > > > >
>> > > >
>> > > > That constant is defined by a Linux header (see
>> > > > linux-headers/linux/vhost.h). Are you suggesting to add another constant
>> > > > that is defined with VHOST_FILE_UNBIND on Linux and -1 on other platforms?
>> > >
>> > > Looking again, we should probably just use -1 instead of a constant
>> >
>> > Yep, this would be fine too.
>> > I don't remember why I did in this way, maybe to keep the diff smaller
>> > enough, but I don't have a strong opinion, we can avoid this ifndef and use
>> > -1 everywhere if you prefer that.
>>
>> IMO VHOST_FILE_UNBIND doesn't belong in vhost_net.c, so it would be nice
>> to avoid the #ifndef.
>
>So, for v2, is it ok if I replace the one usage of VHOST_FILE_UNBIND in
>vhost_net.c with -1 and remove the #ifndef?

Yep.

>
>> > > since include/standard-headers/linux/vhost_types.h doesn't even define a
>> > > constant:
>> > >
>> > >  struct vhost_vring_file {
>> > >     unsigned int index;
>> > >     int fd; /* Pass -1 to unbind from file. */
>> > >
>> > >  };
>> > >
>> > > It's strange that VHOST_FILE_UNBIND was defined in <linux/vhost.h>
>> > > instead of <linux/vhost_types.h> where struct vhost_vring_file is
>> > > defined.
>> >
>> > Oh, VHOST_FILE_UNBIND was introduced after struct vhost_vring_file, with
>> > commit 776f395004d8 ("vhost_vdpa: Support config interrupt in vdpa").
>> >
>> > But I agree that should be moved to vhost_types.h. BTW <linux/vhost.h>
>> > already includes <linux/vhost_types.h>, so maybe we can fix it without too
>> > much trouble.
>>
>> Yes, that change seems safe and will improve things in the long term.
>
>Or should I send a patch to linux adding VHOST_FILE_UNBIND to vhost_types.h
>and then drop it from vhost.h and remove the #ifndef?

This is orthogonal, the issue this patch was fixing was to build on 
no-Linux systems, so changing Linux headers will not help.

This is more a cleanup, if you can send also that patch to Linux (which 
is unrelated to this work) would be nice, otherwise let me know and I 
can do that.

Note: files under linux-headers/ are imported from Linux, can't be 
changed here.

Thanks,
Stefano



  reply	other threads:[~2026-10-29  9:07 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-22 13:47 [PATCH 0/8] vhost-user: another try at supporting any POSIX system Tim Pambor
2026-10-22 13:47 ` [PATCH 1/8] vhost-user: kick via event_notifier_set() Tim Pambor
2026-10-29 11:43   ` Stefano Garzarella
2026-10-22 13:47 ` [PATCH 2/8] libvhost-user: self-kick through a library-owned notifier Tim Pambor
2026-10-29 11:43   ` Stefano Garzarella
2026-10-22 13:47 ` [PATCH 3/8] io/channel-socket: only clear O_NONBLOCK on received fds if set Tim Pambor
2026-10-26 11:29   ` Daniel P. Berrangé
2026-10-22 13:47 ` [PATCH 4/8] chardev/char-socket: detect peer close portably Tim Pambor
2026-10-22 13:47 ` [PATCH 5/8] vhost-user: enable frontends on any POSIX system Tim Pambor
2026-10-27 19:24   ` Stefan Hajnoczi
2026-10-28  8:32     ` Stefano Garzarella
2026-10-28 12:33       ` Stefan Hajnoczi
2026-10-28 13:23         ` Stefano Garzarella
2026-10-28 18:43           ` Stefan Hajnoczi
2026-10-28 19:33             ` Tim Pambor
2026-10-29  9:05               ` Stefano Garzarella [this message]
2026-10-29 12:10               ` Stefan Hajnoczi
2026-10-22 13:47 ` [PATCH 6/8] libvhost-user: enable it " Tim Pambor
2026-10-22 13:47 ` [PATCH 7/8] contrib/vhost-user-blk: " Tim Pambor
2026-10-22 13:47 ` [PATCH 8/8] libvhost-user: detect memfd support with a link test Tim Pambor
2026-10-29 11:44   ` Stefano Garzarella
2026-10-23 16:00 ` [PATCH 0/8] vhost-user: another try at supporting any POSIX system Stefano Garzarella
2026-10-26  9:17   ` Tim Pambor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=auMLJ4rBHJBtCU51@sgarzare-redhat \
    --to=sgarzare@redhat.com \
    --cc=berrange@redhat.com \
    --cc=brad@comstyle.com \
    --cc=david@kernel.org \
    --cc=hreitz@redhat.com \
    --cc=jasowangio@gmail.com \
    --cc=kwolf@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@oss.qualcomm.com \
    --cc=pierrick.bouvier@oss.qualcomm.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rnorwitz@nvidia.com \
    --cc=stefanha@redhat.com \
    --cc=timpambor@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.