From: Lennart Poettering <lennart@poettering.net>
To: linux-hotplug@vger.kernel.org
Subject: Re: [systemd-devel] Inhibiting plug and play
Date: Tue, 16 Jul 2013 17:23:29 +0000 [thread overview]
Message-ID: <20130716172329.GG21537@tango.0pointer.de> (raw)
In-Reply-To: <51C09CA5.6020902@ubuntu.com>
On Tue, 18.06.13 13:45, Phillip Susi (psusi@ubuntu.com) wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Various tools, but most notably partitioners, manipulate disks in such
> a way that they need to prevent the rest of the system from racing
> with them while they are in the middle of manipulating the disk.
> Presently this is done with a hodge podge of hacks that involve
> running some script or executable to temporarily hold off on some
> aspects ( typically only auto mounting ) of plug and play processing.
> Which one depends on whether you are running hal, udisks, udisks2, or
> systemd.
>
> There really needs to be a proper way at a lower level, either udev,
> or maybe in the kernel, to inhibit processing events until the tool
> changing the device has finished completely. The question is, should
> this be in the kernel, or in udev, and what should the interface be?
So, Kay suggested we should use BSD file locks for this. i.e. all tools
which want to turn off events for a device would take one on that
specific device fd. As long as it is taken udev would not generate
events. As soon as the BSD lock is released again it would recheck the
device.
To me this sounds like a pretty clean thing to do. Locks usually suck,
but for this purpose they appear to do exactly what they should, and
most of the problematic things with them don't apply in this specific
case.
Doing things way would be quite robust, as we have clean synchronization
and the kernel will release the locks automatically when the owner dies.
Opinions?
Lennart
--
Lennart Poettering - Red Hat, Inc.
next prev parent reply other threads:[~2013-07-16 17:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-18 17:45 Inhibiting plug and play Phillip Susi
2013-06-18 17:55 ` Greg KH
2013-06-18 18:03 ` David Zeuthen
2013-06-18 18:40 ` Phillip Susi
2013-06-18 18:59 ` David Zeuthen
2013-07-16 17:23 ` Lennart Poettering [this message]
2013-07-16 17:35 ` [systemd-devel] " Phillip Susi
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=20130716172329.GG21537@tango.0pointer.de \
--to=lennart@poettering.net \
--cc=linux-hotplug@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).