Hello,

I recently tried to send a very long email to this list that seems to
have never arrived. Rather than repeat the contents of that email, I'll
ask a simple question regarding how locking is used by udevd and by
util-linux's fsck.

You have the following article on how such locking is intended to work:

https://systemd.io/BLOCK_DEVICE_LOCKING/

However, with the introduction of the following commit, util-linux's
fsck no longer takes its lock on the same device file that udevd's
workers do. It takes a lock on /run/fsck/<drive>.lock instead of
/dev/<drive>.

https://github.com/util-linux/util-linux/commit/3bbdae633f4a1dda5f95ee6c61f18a1c8ef12250

That as the culmination of this discussion:

https://bugs.freedesktop.org/show_bug.cgi?__goaway_challenge=resource-load&__goaway_id=899961c5b88f8a3e09b3bafce7c5b56e&id=79576

That being the case, the locking is not effective, correct?

Ubuntu is carrying a patch to verify a udevd/libblkid superblock read's
checksum and retry. They got a report showing evidence of contention
between udevd and fsck:

https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/2090972
https://marc.info/?l=util-linux-ng&m=173196251132352&w=2

Unfortunately, at work I am running with that patch, and it does not
prevent a very similar failure to mount ext4 filesystems, about once
every 1000 boots with a certain test configuration. (I intend to contact
them but am having launchpad issues.) Except in my case it comes from
the fs UUID not being read in response to a rule in
60-persistant-storage.rules and the lack of UUID causing the by-uuid
symlink to be removed, which triggers the corresponding
[email protected] instance to be stopped and prevents the mount
happening on boot. This is in the post root pivot phase. I believe the
symlink and udev db entry was created during the initramfs script phase
and then removed in a second udev run processing the add uevent for the
filesystem's partition device node.

I can share more details of my mount failure if you like. Or if there's
a way for you to look at submitted emails that did not reach the list,
this past Monday I wrote you a very long email with every detail I
thought might be of value (and then some?).

Regards,
Mike Small


Reply via email to