From: Markus Armbruster <armbru@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Kevin Wolf" <kwolf@redhat.com>,
"xiaoqiang zhao" <zxq_yx_007@163.com>,
QEMU <qemu-devel@nongnu.org>,
"Marc-André Lureau" <marcandre.lureau@gmail.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH 00/11] sockets: Attempt to drain the abstract socket swamp
Date: Mon, 02 Nov 2020 09:44:49 +0100 [thread overview]
Message-ID: <87zh40no5a.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20201030102049.GI99222@redhat.com> ("Daniel P. Berrangé"'s message of "Fri, 30 Oct 2020 10:20:49 +0000")
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Fri, Oct 30, 2020 at 11:11:19AM +0100, Markus Armbruster wrote:
>> Marc-André Lureau <marcandre.lureau@gmail.com> writes:
>>
>> > Hi Markus,
>> >
>> > On Thu, Oct 29, 2020 at 5:43 PM Markus Armbruster <armbru@redhat.com> wrote:
>> >
>> >> In my opinion, the Linux-specific abstract UNIX domain socket feature
>> >> introduced in 5.1 should have been rejected. The feature is niche,
>> >> the interface clumsy, the implementation buggy and incomplete, and the
>> >> test coverage insufficient. Review fail.
>> >>
>> >
>> > I also failed (as chardev maintainer..) to not only review but weigh in and
>> > discuss the merits or motivations behind it.
>> >
>> > I agree with you. Also the commit lacks motivation behind this "feature".
>> >
>> >
>> >> Fixing the parts we can still fix now is regrettably expensive. If I
>> >> had the power to decide, I'd unceremoniously revert the feature,
>> >> compatibility to 5.1 be damned. But I don't, so here we go.
>> >>
>> >> I'm not sure this set of fixes is complete. However, I already spent
>> >> too much time on this, so out it goes. Lightly tested.
>> >>
>> >> Regardless, I *will* make time for ripping the feature out if we
>> >> decide to do that. Quick & easy way to avoid reviewing this series
>> >> *hint* *hint*.
>> >>
>> >
>> > well, fwiw, I would also take that approach too, to the risk of upsetting
>> > the users.
>>
>> Reverting the feature requires rough consensus and a patch.
>>
>> I can provide a patch, but let's give everybody a chance to object
>> first.
Daniel, do you object, yes or no?
I need to know to avoid wasting even more time.
>> > But maybe we can get a clear reason behind it before that
>> > happens. (sorry, I didn't dig the ML archive is such evidence is there, it
>> > should have been in the commit message too)
>>
>> I just did, and found next to nothing.
>>
>> This is the final cover letter:
>>
>> qemu-sockets: add abstract UNIX domain socket support
>>
>> qemu does not support abstract UNIX domain
>> socket address. Add this ability to make qemu handy
>> when abstract address is needed.
>>
>> Boils down to "$feature is needed because it's handy when it's needed",
>> which is less than helpful.
>
> Well if you have an existing application that uses abstract sockets,
> and you want to connect QEMU to it, then QEMU needs to support it,
> or you are forced to interject a proxy between your app and QEMU
> which is an extra point of failure and lantency. I was interested
> in whether there was a specific application they were using, but
> that is largely just from a curiosity POV. There's enough usage of
> abstract sockets in apps in general that is it clearly a desirable
> feature to enable.
>
> Even if no external app is involved and you're just connecting
> together 2 QEMU processes' chardevs, abstract sockets are interesting
> because of their differing behaviour to non-abstract sockets.
>
> Most notably non-abstract sockets are tied to the filesystem mount
> namespace in Linux, where as abstract sockets are tied to the network
> namespace. This is a useful distinction in the container world. Ordinarily
> you can't connect QEMUs in 2 separate containers together, because they
> always have distinct mount namespaces. There is often the ability to
> share network namespaces between containers though, and thus unlock
> use of abstract sockets for communications.
If this was patch review, I'd now ask the patch submitter to work it
into the commit message.
Thanks anyway :)
[...]
next prev parent reply other threads:[~2020-11-02 8:45 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-29 13:38 [PATCH 00/11] sockets: Attempt to drain the abstract socket swamp Markus Armbruster
2020-10-29 13:38 ` [PATCH 01/11] test-util-sockets: Plug file descriptor leak Markus Armbruster
2020-10-29 17:59 ` Eric Blake
2020-10-29 13:38 ` [PATCH 02/11] test-util-sockets: Correct to set has_abstract, has_tight Markus Armbruster
2020-10-29 18:36 ` Eric Blake
2020-10-29 13:38 ` [PATCH 03/11] test-util-sockets: Clean up SocketAddress construction Markus Armbruster
2020-10-29 18:43 ` Eric Blake
2020-10-30 9:36 ` Daniel P. Berrangé
2020-10-30 14:06 ` Markus Armbruster
2020-10-29 13:38 ` [PATCH 04/11] test-util-sockets: Factor out test_socket_unix_abstract_one() Markus Armbruster
2020-10-29 18:52 ` Eric Blake
2020-10-29 13:38 ` [PATCH 05/11] test-util-sockets: Synchronize properly, don't sleep(1) Markus Armbruster
2020-10-29 18:54 ` Eric Blake
2020-10-30 6:40 ` Markus Armbruster
2020-10-29 13:38 ` [PATCH 06/11] test-util-sockets: Test the complete abstract socket matrix Markus Armbruster
2020-10-29 19:19 ` Eric Blake
2020-10-30 9:33 ` Daniel P. Berrangé
2020-10-30 14:14 ` Markus Armbruster
2020-10-29 13:38 ` [PATCH 07/11] sockets: Fix default of UnixSocketAddress member @tight Markus Armbruster
2020-10-29 17:39 ` Paolo Bonzini
2020-10-29 18:05 ` Paolo Bonzini
2020-10-30 6:58 ` Markus Armbruster
2020-10-29 19:34 ` Eric Blake
2020-10-30 6:54 ` Markus Armbruster
2020-10-29 13:38 ` [PATCH 08/11] sockets: Fix socket_sockaddr_to_address_unix() for abstract sockets Markus Armbruster
2020-10-29 17:47 ` Paolo Bonzini
2020-10-30 8:56 ` Markus Armbruster
2020-10-29 19:38 ` Eric Blake
2020-10-30 9:04 ` Markus Armbruster
2020-10-30 12:39 ` Eric Blake
2020-10-29 13:38 ` [PATCH 09/11] char-socket: Fix qemu_chr_socket_address() " Markus Armbruster
2020-10-29 19:41 ` Eric Blake
2020-10-30 9:09 ` Markus Armbruster
2020-10-29 13:38 ` [PATCH 10/11] sockets: Bypass "replace empty @path" for abstract unix sockets Markus Armbruster
2020-10-29 19:42 ` Eric Blake
2020-10-29 13:38 ` [PATCH 11/11] sockets: Make abstract UnixSocketAddress depend on CONFIG_LINUX Markus Armbruster
2020-10-29 19:54 ` Eric Blake
2020-10-30 9:25 ` Markus Armbruster
2020-10-29 13:53 ` [PATCH 00/11] sockets: Attempt to drain the abstract socket swamp Marc-André Lureau
2020-10-30 10:11 ` Markus Armbruster
2020-10-30 10:20 ` Daniel P. Berrangé
2020-11-02 8:44 ` Markus Armbruster [this message]
2020-11-02 8:57 ` Paolo Bonzini
2020-11-02 9:18 ` Daniel P. Berrangé
2020-11-02 9:59 ` Markus Armbruster
2020-11-02 10:02 ` Daniel P. Berrangé
2020-11-02 11:58 ` Markus Armbruster
2020-10-29 18:06 ` Paolo Bonzini
2020-10-30 10:12 ` Markus Armbruster
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=87zh40no5a.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=marcandre.lureau@gmail.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=zxq_yx_007@163.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.