mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Peter Rajnoha <prajnoha@redhat.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org, msekleta@redhat.com
Subject: Re: [PATCH v2] kobject: add kernel/uevent_features sysfs file
Date: Fri, 7 Dec 2018 13:28:52 +0100	[thread overview]
Message-ID: <e0072bf2-c89e-df9c-8764-7505a71ab36e@redhat.com> (raw)
In-Reply-To: <20181207120123.GB15336@kroah.com>

On 12/7/18 1:01 PM, Greg KH wrote:
> On Fri, Dec 07, 2018 at 12:46:07PM +0100, Peter Rajnoha wrote:
>> This patch adds /sys/kernel/uevent_features file which currently lists
>> 'synthargs' string to denote that the kernel is able to recognize the
>> extended synthetic uevent arguments. Userspace can easily check for
>> the feature then.
> 
> So this is just to try to have userspace detect what type of feature the
> kernel has?  Why can't you just go off of the other sysfs file itself?
> You shouldn't need a "this is a feature list" for the kernel, otherwise
> we would be on a huge slippery slope trying to document everything.
> 
> Who is going to use this thing?  And what else would go into it?
> 
> Isn't there some other way you can detect this from userspace (like
> writing to the file and it fails?)
> 

Yes, it's for userspace to be sure that uevent interface has certain
features available that it can use.

For now, it's just that "synthetic uevent arguments" that is the
extension of the original uevent interface. That applies to both input
(writing to /sys/.../uevent file) and output (related extra variables
that appear in generated uevents).

The obvious user of this is going to be systemd/udev that will add extra
variables to identify various synthetic uevents it produces (coming as
result of the WATCH udev rule, coming from the udevadm trigger call and
other specific uses where it needs to generate synthetic uevents). Other
users I know of involve storage handling tools which need to generate
these synthetic uevents whenever a change happens and it needs to
synchronize with udevd processing (e.g. waiting on refresh to get
reflected in udev database).

I understand that there is an argument that we can just use kernel
version check, but this is not acceptable for all unfortunately (see
also https://github.com/systemd/systemd/pull/7294#issuecomment-343491015).

The issue with checking the return code after writing to /sys/.../uevent
is that it doesn't work with older kernel releases because there, it
always returned success, no matter if the input string was correct or
not or whether the arguments were recognized (unfortunately, this was
like that from beginning, it seems). Even though, I've fixed this return
code with df44b479 recently, but still, there are possible older
releases out there... And still, there might be new variables introduced
in the future that don't necessarily need to be direct result of writing
to /sys/.../uevent file.

-- 
Peter

  reply	other threads:[~2018-12-07 12:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-07 11:46 Peter Rajnoha
2018-12-07 12:01 ` Greg KH
2018-12-07 12:28   ` Peter Rajnoha [this message]
2018-12-19  9:24     ` Greg KH
2019-01-02  9:59       ` Peter Rajnoha
2019-01-08 14:23         ` Greg KH

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=e0072bf2-c89e-df9c-8764-7505a71ab36e@redhat.com \
    --to=prajnoha@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=msekleta@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®