All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: "Marc-André Lureau" <marcandre.lureau@gmail.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	"Daniel P. Berrange" <berrange@redhat.com>,
	xiaoqiang zhao <zxq_yx_007@163.com>, QEMU <qemu-devel@nongnu.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH 00/11] sockets: Attempt to drain the abstract socket swamp
Date: Fri, 30 Oct 2020 11:11:19 +0100	[thread overview]
Message-ID: <87pn50vxa0.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <CAJ+F1CLW=zfWq3apgrKear2v42LYarSMQKw07BHadM-rYjcmoA@mail.gmail.com> ("Marc-André Lureau"'s message of "Thu, 29 Oct 2020 17:53:25 +0400")

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.

>            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.

Patch history:

v1: https://lists.nongnu.org/archive/html/qemu-devel/2020-04/msg03799.html

    This version repurposes @path starting with '@' for abstract
    sockets, always tight.  Only connect, no tests, no documentation.

    R-by Marc-André.

v2: https://lists.nongnu.org/archive/html/qemu-devel/2020-04/msg03803.html

    Minor cleanup.

    Daniel asks why it's needed, points out listen is missing, and
    suggests the two boolean flags abstract, tight.

v3: https://lists.nongnu.org/archive/html/qemu-devel/2020-05/msg02291.html

    Implement interface proposed by Daniel, default of @tight broken,
    tests (which don't catch the broken default), documentation.

    Eric suggests QAPI schema doc improvements (but doesn't challenge
    the interface).

    R-by Daniel for the code.  He asks for randomized @path in tests.

v4: https://lists.nongnu.org/archive/html/qemu-devel/2020-05/msg04036.html

    Daniel points out style nits in tests.

    Eric suggests a few more QAPI schema doc improvements.

v5: https://lists.nongnu.org/archive/html/qemu-devel/2020-05/msg04144.html

    R-by Daniel for the tests.

v6: https://lists.nongnu.org/archive/html/qemu-devel/2020-05/msg04508.html

    No further review comments.

PR: https://lists.nongnu.org/archive/html/qemu-devel/2020-05/msg05747.html

    Pull request catches my eye.  The interface looks odd, and I
    challenge @tight.  I silently accept Daniel's defense of it without
    digging deeper.

This is a review failure.  I do not blame the patch submitter.



  reply	other threads:[~2020-10-30 10:13 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 [this message]
2020-10-30 10:20     ` Daniel P. Berrangé
2020-11-02  8:44       ` Markus Armbruster
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=87pn50vxa0.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.