On May 17, 2014, at 5:30 PM, Chris Murphy <li...@colorremedies.com> wrote: > > No, the system definitely does not attempt to mount it if there's a missing > device. Systemd never executes /bin/mount at all in that case. A prerequisite > for the mount attempt is this line: > > [ 1.621517] localhost.localdomain systemd[1]: > dev-disk-by\x2duuid-9ff63135\x2dce42\x2d4447\x2da6de\x2dd7c9b4fb6d66.device > changed dead -> plugged > > That line only appears if all devices are present. And mount attempt doesn't > happen. The system just hangs. > > However, if I do an rd.break=pre-mount, and get to a dracut shell this > command works: > > mount -t btrfs -o subvol=root,ro,degraded -U <uuid> > > The volume UUID is definitely present even though not all devices are > present. So actually in this case it's confusing why this uuid hasn't gone > from dead to plugged. Until it's plugged, the mount command won't happen.
2 device Btrfs raid1, sda3 and sdb3. When both are available I get these lines: [ 2.168697] localhost.localdomain systemd-udevd[109]: creating link '/dev/disk/by-uuid/9ff63135-ce42-4447-a6de-d7c9b4fb6d66' to '/dev/sda3' [ 2.170232] localhost.localdomain systemd-udevd[135]: creating link '/dev/disk/by-uuid/9ff63135-ce42-4447-a6de-d7c9b4fb6d66' to '/dev/sdb3' That precipitates systemd changing the by-uuid.device from dead to plugged. If I remove one device, then udev does not create a link from uuid to /dev for the remaining device. Therefore the expected uuid doesn't ever appear to systemd, and thus it doesn't attempt to mount it, and the system hangs indefinitely. Chris Murphy _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel