From: Daniel Mack <daniel-cYrQPVfZoowdnm+yROfE0A@public.gmane.org>
To: Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
Ted Ts'o <tytso-3s7WtUTddSA@public.gmane.org>,
Linux API <linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Michael Kerrisk
<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
One Thousand Gnomes
<gnomes-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>,
Austin S Hemmelgarn
<ahferroin7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Tom Gundersen <teg-B22kvLQNl6c@public.gmane.org>,
Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
linux-kernel
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
David Herrmann
<dh.herrmann-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Eric W. Biederman"
<ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>,
Djalal Harouni <tixxdz-Umm1ozX2/EEdnm+yROfE0A@public.gmane.org>,
Johannes Stezenbach <js-FF7aIK3TAVNeoWH0uzbU5w@public.gmane.org>,
Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Subject: Re: [PATCH 01/13] kdbus: add documentation
Date: Mon, 02 Feb 2015 10:34:49 +0100 [thread overview]
Message-ID: <54CF44B9.8000005@zonque.org> (raw)
In-Reply-To: <CALCETrXD41=ohFSkCmBD8zPHFVUtr49QXMhYnChAxqQtmUjJYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi Andy,
On 01/29/2015 01:09 PM, Andy Lutomirski wrote:
> On Jan 29, 2015 6:42 AM, "Daniel Mack" <daniel-cYrQPVfZoowdnm+yROfE0A@public.gmane.org> wrote:
>> As we explained before, currently, D-Bus peers do collect the same
>> information already if they need to have them, but they have to do deal
>> with the inherit races in such cases. kdbus is closing the gap by
>> optionally providing the same information along with each message, if
>> requested.
>
> In all these discussions, no one ever gave a decent example use case.
> If a process drops some privilege, it must close all fds it has that
> captured its old privilege. This has nothing to do with kdbus.
kdbus does not implement any new concept here but sticks to what
SCM_CREDENTIALS does on SOL_SEQPACKET. An application can get a
file-descriptor from socket() or socketpair() and freely pass it around
between different tasks or threads, but messages will always have the
credentials attached that are valid at *send* time. SO_PEERCREDS,
however, still reports the connect-time credentials, and kdbus provides
exactly the same semantics and both ways of retrieving information.
> I agree that the design seems to have improved to a state of being at
> least decent,
One reason for that is your feedback. Thanks for that again!
> It's an optional feature that will get used, non-optionally, thousands
> of times on each boot, apparently. Keep in mind that it's also a
> scalability problem because it takes locks. If it ever gets used
> thousands of times per CPU on a big thousand-core machine, it's going
> to suck, and you'll have backed yourself into a corner.
That's right, but again - if an application wants to gather this kind of
information about tasks it interacts with, it can do so today by looking
at /proc or similar sources. Desktop machines do exactly that already,
and the kernel code executed in such cases very much resembles that in
metadata.c, and is certainly not cheaper. kdbus just makes such
information more accessible when requested. Which information is
collected is defined by bit-masks on both the sender and the receiver
connection, and most applications will effectively only use a very
limited set by default if they go through one of the more high-level
libraries.
Also, when metadata is collected, the code mostly takes temporary
references on objects like PIDs, namespaces etc. Which operation would
you consider particularly expensive?
Thanks again,
Daniel
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Mack <daniel@zonque.org>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Arnd Bergmann <arnd@arndb.de>, "Ted Ts'o" <tytso@mit.edu>,
Linux API <linux-api@vger.kernel.org>,
Michael Kerrisk <mtk.manpages@gmail.com>,
One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
Austin S Hemmelgarn <ahferroin7@gmail.com>,
Tom Gundersen <teg@jklm.no>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
David Herrmann <dh.herrmann@gmail.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Djalal Harouni <tixxdz@opendz.org>,
Johannes Stezenbach <js@sig21.net>,
Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH 01/13] kdbus: add documentation
Date: Mon, 02 Feb 2015 10:34:49 +0100 [thread overview]
Message-ID: <54CF44B9.8000005@zonque.org> (raw)
In-Reply-To: <CALCETrXD41=ohFSkCmBD8zPHFVUtr49QXMhYnChAxqQtmUjJYw@mail.gmail.com>
Hi Andy,
On 01/29/2015 01:09 PM, Andy Lutomirski wrote:
> On Jan 29, 2015 6:42 AM, "Daniel Mack" <daniel@zonque.org> wrote:
>> As we explained before, currently, D-Bus peers do collect the same
>> information already if they need to have them, but they have to do deal
>> with the inherit races in such cases. kdbus is closing the gap by
>> optionally providing the same information along with each message, if
>> requested.
>
> In all these discussions, no one ever gave a decent example use case.
> If a process drops some privilege, it must close all fds it has that
> captured its old privilege. This has nothing to do with kdbus.
kdbus does not implement any new concept here but sticks to what
SCM_CREDENTIALS does on SOL_SEQPACKET. An application can get a
file-descriptor from socket() or socketpair() and freely pass it around
between different tasks or threads, but messages will always have the
credentials attached that are valid at *send* time. SO_PEERCREDS,
however, still reports the connect-time credentials, and kdbus provides
exactly the same semantics and both ways of retrieving information.
> I agree that the design seems to have improved to a state of being at
> least decent,
One reason for that is your feedback. Thanks for that again!
> It's an optional feature that will get used, non-optionally, thousands
> of times on each boot, apparently. Keep in mind that it's also a
> scalability problem because it takes locks. If it ever gets used
> thousands of times per CPU on a big thousand-core machine, it's going
> to suck, and you'll have backed yourself into a corner.
That's right, but again - if an application wants to gather this kind of
information about tasks it interacts with, it can do so today by looking
at /proc or similar sources. Desktop machines do exactly that already,
and the kernel code executed in such cases very much resembles that in
metadata.c, and is certainly not cheaper. kdbus just makes such
information more accessible when requested. Which information is
collected is defined by bit-masks on both the sender and the receiver
connection, and most applications will effectively only use a very
limited set by default if they go through one of the more high-level
libraries.
Also, when metadata is collected, the code mostly takes temporary
references on objects like PIDs, namespaces etc. Which operation would
you consider particularly expensive?
Thanks again,
Daniel
next prev parent reply other threads:[~2015-02-02 9:34 UTC|newest]
Thread overview: 143+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-16 19:16 [PATCH v3 00/13] Add kdbus implementation Greg Kroah-Hartman
2015-01-16 19:16 ` Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 01/13] kdbus: add documentation Greg Kroah-Hartman
[not found] ` <1421435777-25306-2-git-send-email-gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
2015-01-20 13:53 ` Michael Kerrisk (man-pages)
2015-01-20 13:53 ` Michael Kerrisk (man-pages)
[not found] ` <54BE5DC8.70706-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-01-20 14:31 ` David Herrmann
2015-01-20 14:31 ` David Herrmann
[not found] ` <CANq1E4SjfZOKqTsdkt519vKc1Poeah5McVJBb_spdHjbKv4=7g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-20 14:42 ` Josh Boyer
2015-01-20 14:42 ` Josh Boyer
[not found] ` <CA+5PVA46wVa-L9K1zgHzt=Fwn6YFBYhxJUjiozSH4XBY03WMVw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-20 14:53 ` Djalal Harouni
2015-01-20 14:53 ` Djalal Harouni
2015-01-20 16:08 ` Johannes Stezenbach
[not found] ` <20150120160842.GA9474-FF7aIK3TAVNeoWH0uzbU5w@public.gmane.org>
2015-01-20 17:00 ` David Herrmann
2015-01-20 17:00 ` David Herrmann
[not found] ` <CANq1E4Q9m7JRXNYFY4okh3brM-kHVoVGOdF_SWjNoNURX930HQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-20 22:00 ` Johannes Stezenbach
2015-01-20 22:00 ` Johannes Stezenbach
2015-01-21 10:28 ` Michael Kerrisk (man-pages)
2015-01-21 10:28 ` Michael Kerrisk (man-pages)
2015-01-20 18:23 ` Daniel Mack
2015-01-20 18:23 ` Daniel Mack
[not found] ` <54BE9D08.7010804-cYrQPVfZoowdnm+yROfE0A@public.gmane.org>
2015-01-21 10:32 ` Michael Kerrisk (man-pages)
2015-01-21 10:32 ` Michael Kerrisk (man-pages)
[not found] ` <54BF805B.4000609-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-01-21 15:19 ` Theodore Ts'o
2015-01-21 15:19 ` Theodore Ts'o
2015-01-21 16:58 ` Daniel Mack
2015-01-21 16:58 ` Daniel Mack
[not found] ` <54BFDAAA.50203-cYrQPVfZoowdnm+yROfE0A@public.gmane.org>
2015-01-22 10:18 ` Michael Kerrisk (man-pages)
2015-01-22 10:18 ` Michael Kerrisk (man-pages)
[not found] ` <54C0CE8A.5080805-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-01-22 13:46 ` David Herrmann
2015-01-22 13:46 ` David Herrmann
2015-01-22 14:49 ` Austin S Hemmelgarn
2015-01-23 16:08 ` Greg Kroah-Hartman
[not found] ` <20150123160854.GA5210-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-01-26 14:46 ` Michael Kerrisk (man-pages)
2015-01-26 14:46 ` Michael Kerrisk (man-pages)
[not found] ` <54C65346.5070504-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-01-27 15:05 ` David Herrmann
2015-01-27 15:05 ` David Herrmann
[not found] ` <CANq1E4SkHhs1pWUe-TzG7bzk1M-Q++mB2vmQGuYx0RMF53wg4Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-27 16:03 ` Andy Lutomirski
2015-01-27 16:03 ` Andy Lutomirski
[not found] ` <CALCETrU1O6LjhrXSH2aXWFt2WGh=ssrq4K9HD10f_Z55iT=Otw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-29 8:53 ` Daniel Mack
2015-01-29 8:53 ` Daniel Mack
2015-01-29 11:25 ` Andy Lutomirski
2015-01-29 11:42 ` Daniel Mack
2015-01-29 12:09 ` Andy Lutomirski
[not found] ` <CALCETrXD41=ohFSkCmBD8zPHFVUtr49QXMhYnChAxqQtmUjJYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-02 9:34 ` Daniel Mack [this message]
2015-02-02 9:34 ` Daniel Mack
[not found] ` <54CF44B9.8000005-cYrQPVfZoowdnm+yROfE0A@public.gmane.org>
2015-02-02 20:12 ` Andy Lutomirski
2015-02-02 20:12 ` Andy Lutomirski
[not found] ` <CALCETrUh1Mse4CBQ4bfkJf+ew=kdpn46hMLS2QafLhfRTzQoBQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-03 10:09 ` Daniel Mack
2015-02-03 10:09 ` Daniel Mack
[not found] ` <54D09E6B.2020903-cYrQPVfZoowdnm+yROfE0A@public.gmane.org>
2015-02-04 0:41 ` Andy Lutomirski
2015-02-04 0:41 ` Andy Lutomirski
[not found] ` <CALCETrV_q9Y4OWC6fA78WsD+XFhsdGHrqH6OK-hc=Vvj2F5C5w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-04 2:47 ` Eric W. Biederman
2015-02-04 2:47 ` Eric W. Biederman
[not found] ` <87siemgzoo.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-02-04 3:14 ` Greg Kroah-Hartman
2015-02-04 3:14 ` Greg Kroah-Hartman
[not found] ` <20150204031437.GB32207-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-02-04 6:30 ` Eric W. Biederman
2015-02-04 6:30 ` Eric W. Biederman
2015-02-04 23:03 ` Andy Lutomirski
2015-02-04 23:03 ` Andy Lutomirski
2015-02-05 0:16 ` David Herrmann
[not found] ` <CANq1E4ShseFuTp0wPrHM9mFmgA-y9Kqz1m0-FmU9qALuxQ8Qvg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-08 16:54 ` Andy Lutomirski
2015-02-08 16:54 ` Andy Lutomirski
2015-01-27 18:03 ` Michael Kerrisk (man-pages)
2015-01-27 18:03 ` Michael Kerrisk (man-pages)
[not found] ` <CANq1E4S=3qNw599L85uj-8aXwxeV+mcurB_Nu_rHH8opAeePjw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-23 11:47 ` Michael Kerrisk (man-pages)
2015-01-23 11:47 ` Michael Kerrisk (man-pages)
2015-01-23 15:54 ` Greg Kroah-Hartman
2015-01-23 15:54 ` Greg Kroah-Hartman
[not found] ` <20150123155402.GB2159-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-01-26 14:42 ` Michael Kerrisk (man-pages)
2015-01-26 14:42 ` Michael Kerrisk (man-pages)
2015-01-26 15:26 ` Tom Gundersen
[not found] ` <CAG-2HqUCZjc4Ucc-L21uG6e-di4UcLJAT5mW_-5-c-uqmoJyzA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-26 16:44 ` christoph Hellwig
2015-01-26 16:44 ` christoph Hellwig
2015-01-26 16:45 ` Michael Kerrisk (man-pages)
2015-01-27 15:23 ` David Herrmann
2015-01-27 17:53 ` Michael Kerrisk (man-pages)
[not found] ` <54C7D0A3.4000900-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-01-27 18:14 ` Daniel Mack
2015-01-27 18:14 ` Daniel Mack
2015-01-28 10:46 ` Michael Kerrisk (man-pages)
2015-01-20 13:58 ` Michael Kerrisk (man-pages)
2015-01-20 13:58 ` Michael Kerrisk (man-pages)
2015-01-20 17:50 ` Daniel Mack
[not found] ` <54BE957A.60305-cYrQPVfZoowdnm+yROfE0A@public.gmane.org>
2015-01-21 8:57 ` Michael Kerrisk (man-pages)
2015-01-21 8:57 ` Michael Kerrisk (man-pages)
2015-01-21 9:07 ` Daniel Mack
[not found] ` <54BE5F1F.8070703-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-01-21 9:07 ` Michael Kerrisk (man-pages)
2015-01-21 9:07 ` Michael Kerrisk (man-pages)
[not found] ` <54BF6C67.7090909-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-01-21 9:12 ` Daniel Mack
2015-01-21 9:12 ` Daniel Mack
2015-01-23 6:28 ` Ahmed S. Darwish
2015-01-23 6:28 ` Ahmed S. Darwish
2015-01-23 13:19 ` Greg Kroah-Hartman
[not found] ` <20150123131946.GA26302-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-01-23 13:29 ` Greg Kroah-Hartman
2015-01-23 13:29 ` Greg Kroah-Hartman
2015-01-25 3:30 ` Ahmed S. Darwish
2015-01-25 3:30 ` Ahmed S. Darwish
2015-01-16 19:16 ` [PATCH 02/13] kdbus: add header file Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 04/13] kdbus: add connection pool implementation Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 06/13] kdbus: add node and filesystem implementation Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 07/13] kdbus: add code to gather metadata Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 08/13] kdbus: add code for notifications and matches Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 10/13] kdbus: add name registry implementation Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 13/13] kdbus: add selftests Greg Kroah-Hartman
[not found] ` <1421435777-25306-1-git-send-email-gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
2015-01-16 19:16 ` [PATCH 03/13] kdbus: add driver skeleton, ioctl entry points and utility functions Greg Kroah-Hartman
2015-01-16 19:16 ` Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 05/13] kdbus: add connection, queue handling and message validation code Greg Kroah-Hartman
2015-01-16 19:16 ` Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 09/13] kdbus: add code for buses, domains and endpoints Greg Kroah-Hartman
2015-01-16 19:16 ` Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 11/13] kdbus: add policy database implementation Greg Kroah-Hartman
2015-01-16 19:16 ` Greg Kroah-Hartman
2015-01-16 19:16 ` [PATCH 12/13] kdbus: add Makefile, Kconfig and MAINTAINERS entry Greg Kroah-Hartman
2015-01-16 19:16 ` Greg Kroah-Hartman
2015-01-16 22:07 ` [PATCH v3 00/13] Add kdbus implementation Josh Boyer
2015-01-16 22:07 ` Josh Boyer
2015-01-16 22:18 ` Greg Kroah-Hartman
[not found] ` <20150116221824.GA512-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-01-17 0:26 ` Daniel Mack
2015-01-17 0:26 ` Daniel Mack
[not found] ` <54B9AC3E.9070105-cYrQPVfZoowdnm+yROfE0A@public.gmane.org>
2015-01-17 0:41 ` Josh Boyer
2015-01-17 0:41 ` Josh Boyer
2015-01-19 18:06 ` Johannes Stezenbach
2015-01-19 18:06 ` Johannes Stezenbach
2015-01-19 18:38 ` Greg Kroah-Hartman
[not found] ` <20150119183806.GA8479-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-01-19 20:19 ` Johannes Stezenbach
2015-01-19 20:19 ` Johannes Stezenbach
2015-01-19 20:31 ` Greg Kroah-Hartman
[not found] ` <20150119203155.GA15441-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-01-19 23:38 ` Johannes Stezenbach
2015-01-19 23:38 ` Johannes Stezenbach
[not found] ` <20150119233812.GA1874-FF7aIK3TAVNeoWH0uzbU5w@public.gmane.org>
2015-01-20 1:13 ` Greg Kroah-Hartman
2015-01-20 1:13 ` Greg Kroah-Hartman
2015-01-20 10:57 ` Johannes Stezenbach
[not found] ` <20150120105712.GA6260-FF7aIK3TAVNeoWH0uzbU5w@public.gmane.org>
2015-01-20 11:26 ` Greg Kroah-Hartman
2015-01-20 11:26 ` Greg Kroah-Hartman
[not found] ` <20150120112609.GA17198-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-01-20 13:24 ` Johannes Stezenbach
2015-01-20 13:24 ` Johannes Stezenbach
2015-01-20 14:12 ` Michael Kerrisk (man-pages)
[not found] ` <20150120011359.GE865-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-01-26 21:32 ` One Thousand Gnomes
2015-01-26 21:32 ` One Thousand Gnomes
2015-01-19 18:33 ` Johannes Stezenbach
2015-01-19 18:33 ` Johannes Stezenbach
2015-01-20 14:05 ` Michael Kerrisk (man-pages)
2015-01-20 14:05 ` Michael Kerrisk (man-pages)
2015-01-20 14:15 ` Michael Kerrisk (man-pages)
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=54CF44B9.8000005@zonque.org \
--to=daniel-cyrqpvfzoowdnm+yrofe0a@public.gmane.org \
--cc=ahferroin7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=dh.herrmann-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
--cc=gnomes-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=js-FF7aIK3TAVNeoWH0uzbU5w@public.gmane.org \
--cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org \
--cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=teg-B22kvLQNl6c@public.gmane.org \
--cc=tixxdz-Umm1ozX2/EEdnm+yROfE0A@public.gmane.org \
--cc=tytso-3s7WtUTddSA@public.gmane.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.