From: Arnd Bergmann <arnd@arndb.de>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org, mingo@elte.hu, linux-mm@kvack.org,
akpm@linux-foundation.org, hpa@zytor.com,
gregory.haskins@gmail.com, Rusty Russell <rusty@rustcorp.com.au>,
s.hetze@linux-ag.com
Subject: Re: [PATCHv6 1/3] tun: export underlying socket
Date: Tue, 3 Nov 2009 13:41:31 +0100 [thread overview]
Message-ID: <200911031341.31622.arnd@arndb.de> (raw)
In-Reply-To: <20091103123112.GA4961@redhat.com>
On Tuesday 03 November 2009, Michael S. Tsirkin wrote:
> > What was your reason for changing?
>
> It turns out socket structure is really bound to specific a file, so we
> can not have 2 files referencing the same socket. Instead, as I say
> above, it's possible to make sendmsg/recvmsg work on tap file directly.
Ah, I see.
> I have implemented this (patch below), but decided to go with the simple
> thing first. Since no userspace-visible changes are involved, let's do
> this by small steps: it will be easier to figure out when vhost
> is upstream.
This may even make it easier for me to do the same with macvtap
if I resume work on that.
> @@ -416,8 +422,8 @@ int sock_map_fd(struct socket *sock, int flags)
>
> static struct socket *sock_from_file(struct file *file, int *err)
> {
> - if (file->f_op == &socket_file_ops)
> - return file->private_data; /* set in sock_map_fd */
> + if (file->f_op->get_socket)
> + return file->f_op->get_socket(file);
>
> *err = -ENOTSOCK;
Or maybe do both (socket_file_ops and get_socket), to avoid an indirect
function call.
Arnd <><
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org, mingo@elte.hu, linux-mm@kvack.org,
akpm@linux-foundation.org, hpa@zytor.com,
gregory.haskins@gmail.com, Rusty Russell <rusty@rustcorp.com.au>,
s.hetze@linux-ag.com
Subject: Re: [PATCHv6 1/3] tun: export underlying socket
Date: Tue, 3 Nov 2009 13:41:31 +0100 [thread overview]
Message-ID: <200911031341.31622.arnd@arndb.de> (raw)
In-Reply-To: <20091103123112.GA4961@redhat.com>
On Tuesday 03 November 2009, Michael S. Tsirkin wrote:
> > What was your reason for changing?
>
> It turns out socket structure is really bound to specific a file, so we
> can not have 2 files referencing the same socket. Instead, as I say
> above, it's possible to make sendmsg/recvmsg work on tap file directly.
Ah, I see.
> I have implemented this (patch below), but decided to go with the simple
> thing first. Since no userspace-visible changes are involved, let's do
> this by small steps: it will be easier to figure out when vhost
> is upstream.
This may even make it easier for me to do the same with macvtap
if I resume work on that.
> @@ -416,8 +422,8 @@ int sock_map_fd(struct socket *sock, int flags)
>
> static struct socket *sock_from_file(struct file *file, int *err)
> {
> - if (file->f_op == &socket_file_ops)
> - return file->private_data; /* set in sock_map_fd */
> + if (file->f_op->get_socket)
> + return file->f_op->get_socket(file);
>
> *err = -ENOTSOCK;
Or maybe do both (socket_file_ops and get_socket), to avoid an indirect
function call.
Arnd <><
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2009-11-03 12:41 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1257193660.git.mst@redhat.com>
2009-11-02 22:26 ` [PATCHv6 1/3] tun: export underlying socket Michael S. Tsirkin
2009-11-02 22:26 ` Michael S. Tsirkin
2009-11-02 22:26 ` Michael S. Tsirkin
2009-11-03 12:12 ` Arnd Bergmann
2009-11-03 12:12 ` Arnd Bergmann
2009-11-03 12:31 ` Michael S. Tsirkin
2009-11-03 12:31 ` Michael S. Tsirkin
2009-11-03 12:31 ` Michael S. Tsirkin
2009-11-03 12:41 ` Arnd Bergmann [this message]
2009-11-03 12:41 ` Arnd Bergmann
2009-11-03 12:41 ` Arnd Bergmann
2009-11-04 18:09 ` Arnd Bergmann
2009-11-04 18:09 ` Arnd Bergmann
2009-11-04 19:05 ` Michael S. Tsirkin
2009-11-04 19:05 ` Michael S. Tsirkin
2009-11-04 19:05 ` Michael S. Tsirkin
2009-11-05 11:30 ` Arnd Bergmann
2009-11-05 11:30 ` Arnd Bergmann
2009-11-05 11:30 ` Arnd Bergmann
2009-11-04 18:09 ` Arnd Bergmann
2009-11-03 12:12 ` Arnd Bergmann
2009-11-02 22:26 ` Michael S. Tsirkin
2009-11-02 22:26 ` [PATCHv6 2/3] mm: export use_mm/unuse_mm to modules Michael S. Tsirkin
2009-11-02 22:26 ` Michael S. Tsirkin
2009-11-02 22:26 ` Michael S. Tsirkin
2009-11-02 22:26 ` Michael S. Tsirkin
2009-11-02 22:29 ` [PATCHv6 3/3] vhost_net: a kernel-level virtio server Michael S. Tsirkin
2009-11-02 22:29 ` Michael S. Tsirkin
2009-11-02 22:29 ` Michael S. Tsirkin
2009-11-03 0:05 ` Daniel Walker
2009-11-03 11:57 ` Michael S. Tsirkin
2009-11-03 11:57 ` Michael S. Tsirkin
2009-11-03 11:57 ` Michael S. Tsirkin
2009-11-03 0:05 ` Daniel Walker
2009-11-02 22:29 ` Michael S. Tsirkin
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=200911031341.31622.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=akpm@linux-foundation.org \
--cc=gregory.haskins@gmail.com \
--cc=hpa@zytor.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@elte.hu \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=s.hetze@linux-ag.com \
--cc=virtualization@lists.linux-foundation.org \
/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.