From: Andrey Borzenkov <arvidjaar@mail.ru>
To: "J.A. Magallon" <jamagallon@able.es>
Cc: linux-kernel@vger.kernel.org, oblin@mandriva.com
Subject: Re: udev, PROGRAM and races...
Date: Wed, 5 Apr 2006 23:10:14 +0400 [thread overview]
Message-ID: <200604052310.14967.arvidjaar@mail.ru> (raw)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> This is done with rule like:
>
> SUBSYSTEM=="block", ACTION=="add", ENV{ID_CDROM}=="?*", \
> PROGRAM="/lib/udev/udev_cdrom_helper", SYMLINK+="%c"
>
> This helper tries to get the next free %d index to create cdrom%d, for
> example.
> The problem is that the launch of both helpers for hda and add seems to be
> done in parallel and the helper gets racy, so both cdroms get id 0, and the
> last that comes owns it:
>
> helper instance for hda helper instance for hdd
> Does cdrom0 exist ? No
> Does cdrom0 exist ? No
> ln -sf hda cdrom0
> ln -sf hdd cdrom0
>
> ????
>
Do you have real example of race condition?
> Is there any way to serialize the calls to 'PROGRAM'. I tried something
> like:
>
> SUBSYSTEM=="block", ACTION=="add", ENV{ID_CDROM}=="?*",
> PROGRAM="/usr/bin/flock /sys/block /lib/udev/udev_cdrom_helper",
> SYMLINK+="%c"
>
> But looks a lot ugly.
>
Why? It is probably the simplest fix actually (assuming sysfs does support
locking, I am not sure).
> Any standard way to do this ?
I never liked this automatic creation of symlinks, I believe this has to be
done as part of device configuration (harddrake on distro you likely mean :)
> Can I still use %e, or is it really really deprecated ? this was easy:
>
> ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="burner%e", MODE="0666",
> GROUP="cdwriter" ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="burner%e",
> MODE="0666", GROUP="cdwriter"
Yes it is deprecated exactly for the same reason. What ensures uniqueness of
%e?
regards
- -andrey
PS I believe it is more appropriate for distro-specific list actually.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
iD8DBQFENBYWR6LMutpd94wRAk4qAJoDaSaLY4nDCgif0ybFdumc2Q7NzACgvo1n
U6fB7VUhQ70FG4nql8a6Nwk=
=fnir
-----END PGP SIGNATURE-----
next reply other threads:[~2006-04-05 19:10 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-05 19:10 Andrey Borzenkov [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-04-04 22:22 J.A. Magallon
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=200604052310.14967.arvidjaar@mail.ru \
--to=arvidjaar@mail.ru \
--cc=jamagallon@able.es \
--cc=linux-kernel@vger.kernel.org \
--cc=oblin@mandriva.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
Powered by JetHome