Hi,
this is just an announce that finally we will make a new rawhide
release tomorrow with udev support enabled in device-mapper and LVM2
packages (upcoming device-mapper-1.02.39-2, lvm2-2.02.54-2).
This is a scratch you can check and test if you would like to:
https://koji.fedoraproject.org/koji/taskinfo?taskID=1774341
We will provide the rules as well as the udev synchronisation
feature (udev_sync) in libdevmapper directly. We have extended its
interface so it's possible to wait for udev to process the events
that are related to actions done on DM devices (create, rename,
resume, remove). This way we can prevent races between libdevmapper
and udev itself.
However, we had to change the layout in /dev based on comments from
udev team:
- /dev/mapper directory is now filled with symlinks (not nodes)
with names given by actual DM device names
- these symlinks point to /dev/dm-X nodes, X is a number. This is
an internal kernel name that should not be visible in userspace,
but there's this udev requirement that node names must match the
kernel names so...
- as for LVM - we use symlinks in /dev/ but now these ones
point to /dev/dm-X not /dev/mapper/
Any other software using libdevmapper should work without any
problems while still not using udev_sync feature (libdevmapper
will detect this and it will fallback to old way of node creation
under /dev - that is by libdevmapper itself, the rules will
be selectively switched off automatically in these situations).
However, we expect that everybody using libdevmapper will switch
to using udev_sync interface as well gradually.
There were some problems last time we brought this into the F12 rawhide
a month ago (the most critical were dracut and anaconda). We have
identified these problems and everything should be fixed now (there
are proper hooks in dracut to install the new rules and we provided
a quick workaround in libdevmapper for parted utility that caused
the anaconda to fail, there's also a fix on its way to parted upstream
itself).
Maybe I should mention other known problems we track and we know about:
- mount utility uses inappropriate DM names in mtab (because it follows
the symlinks and takes the internal dm-X names). The consequence is
that utilities reading mtab will show these dm-X names instead of
actual DM names (like the output of "df"). The fix is in upstream
util-linux-ng already (as of 26th October) so I hope it will
propagate into rawhide soon.
- since we create the nodes on "change" udev event (and we have to!)
and suppress the node creation on "add" event, there's a problem
while using "udevadm trigger". The trigger generates "add" events
by default and when called, the DM nodes are removed (because
of the node suppression on add and udev removes the nodes if we
use the suppression and the nodes exist already). We have to work out
a proper solution with udev team here, but if you run into this
problem, you can have those DM nodes back by calling:
udevadm trigger --action=change --property-match=DM_UDEV_RULES_VSN=*
or (but this works for kernels >= 2.6.29 only):
udevadm trigger --action=change --attr-match=dm/name
or:
udevadm control --env=STARTUP=1
udevadm trigger
udevadm control --env=STARTUP=
- there's a problem with GRUB2 that can't deal with the symlinks in
/dev/mapper (it's the grub-probe that fails iirc). Since there are
more things to fix in grub2 with respect to DM devices, we have
to work more closely with grub team to solve this issue and other
issues.
Hopefully I've mentioned eveything that's important. If you have any
questions, please, feel free to raise your comments here. The plan is
to switch this on tomorrow, but if there's anyone who sees a problem
here and who would like to test it more and needs more time, please,
let me know.
Thanks
Peter
--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list