[systemd-devel] timed out waiting for device dev-disk-by\x2duuid

Lennart Poettering lennart at poettering.net
Thu May 15 10:29:55 PDT 2014


On Mon, 12.05.14 20:48, Chris Murphy (lists at colorremedies.com) wrote:

> Two device Btrfs volume, with one device missing (simulated) will not
> boot, even with rootflags=degraded set which is currently required to
> enable Btrfs degraded mounts. Upon reaching a dracut shell after
> basic.target fails with time out, I can mount -o subvol=root,degraded
> and exit and continue boot normally with just the single device.
> 
> The problem seems to be that systemd (udev?) is not finding the volume
> by uuid for some reason, and therefore not attempting to mount it. But
> I don't know why it can't find it, or even how the find by uuid
> mechanism works this early in boot. So I'm not sure if this is a
> systemd or udev bug, or a dracut, or kernel bug.
> 
> The problem happens with systemd 208-9.fc20 with kernel
> 3.11.10-301.fc20, and systemd 212-4.fc21 and kernel
> 3.15.0-0.rc5.git0.1.fc21.

As soon as btrfs reports that a file system is ready, systemd will pick
it up. This is handled with the "btrfs" udev built-in, and invoked via
/usr/lib/udev/rules.d/64-btrfs.rules. rootflags has no influence on
that, as at that point it is not clear whether the block device will be
the once that carries the root file system, or any other file system.

Not sure what we should be doing about this. Maybe introduce a new
btrfs=degraded switch that acts globally, and influences the udev built-in?

Kay?

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list