Re: [systemd-devel] fsck, /home, btrfs, multiple partitions/drives, boot failure [Ubuntu 15.04]
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 05/28/2015 08:40 PM, Andrei Borzenkov wrote: > Try booting with udev.log-priority=debug > rd.udev.log-priority=debug, this may give some hint what happens. Wow did that produce a lot of output! > No. You can set "nofail" in which case boot will proceed and you > can mount it manually later. I added the nofail flag to /home and mounts below it, along with the udev flags above. Booting at least got me to a login screen instead of the emergency shell. I was then able to login at a virtual console, checked /home was not mounted, and mount -a quite happily mounted it and the system works. I have attached the output of journalctl -b which has all the udev output as well as everything else. That is fulljournal.txt.gz. Separately my laptop has two drives, and I have 3 luks+dmcrypt partitions. One of them is for swap, and two of them are in RAID0 for a single btrfs filesystem that contains / and /home subvolumes. The initrd does the keysetup and decryption, long before systemd is involved. My boot time with systemd has become several minutes, but eventually succeeds. Looking in the log (attached as laptop.txt.gz), it too has messages about waiting for disk devices and eventually timing out, but the system eventually boots compared to the desktop emergency shell. It seems there is something very confused going on between the initrd, udev and systemd, especially noticeable if you have btrfs across multiple partitions and the same partitions are already mounted for root by initrd. Roger -BEGIN PGP SIGNATURE- Version: GnuPG v1 iEYEARECAAYFAlVoqb0ACgkQmOOfHg372QRi4QCgp1GNeKJ4UIPqAVtI7vkGzpwE u7cAn1aAiBolnDd4xBIlQETTR+0nmUji =0DRw -END PGP SIGNATURE- fulljournal.txt.gz Description: application/gzip laptop.txt.gz Description: application/gzip ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] fsck, /home, btrfs, multiple partitions/drives, boot failure [Ubuntu 15.04]
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 05/28/2015 02:37 AM, Andrei Borzenkov wrote: > I was wrong here, device is opened by btrfs driver so there should > be no collision here. Still obviously scanning fails (and it fails > actively, setting ID_BTRFS_READY). This needs some debugging on > udev side. I just tried booting with fsck.mode=skip and that didn't make any difference, seemingly supporting your diagnosis (it being the device stage rather than fsck stage where the problem lies). Note that this problem is very silly. The systemd binary is running from the very devices it claims aren't ready! If it actually tried to mount /home then it would succeed every time. Prior to Ubuntu 15.04/systemd, I had my drives in a different configuration. My motherboard has two SATA controllers, each with 4 ports (one is Intel, one is ASMedia). I had the two drives making up / and /home on different controllers, and everything worked fine. My hypothesis is that the boot sequence looked like this: 1. Wait for all storage controllers and all devices on them to be enumerated 2. Run btrfs device scan 3. Mount root and pivot 4. Within new root, attempt to mount everything in /etc/fstab without any detection of availability etc With 15.04 (both upstart and systemd, hence "blame" likely lying with initrd+udev), things look concurrent: 1. Enumerate storage controllers and all devices on them 1. Simultaneously run btrfs device scan each time a new device is found 1. Simultaneously, the moment /dev/disk/by-uuid/ROOTUUID shows up, attempt to mount root filesystem With the two halves of the btrfs filesystem on different controllers, mounting of root failed. Doing so at the emergency root shell worked just fine. I had to rewire my drives so they were on the same controller which fixed this issue. Is there any more information I can gather to make progress on this issue? Does systemd support any flags in /etc/fstab where I can tell it just go ahead and mount instead of waiting for devices? Roger -BEGIN PGP SIGNATURE- Version: GnuPG v1 iEYEARECAAYFAlVnYVMACgkQmOOfHg372QTLMwCfRUnluXxvRsRvFTULJ0Y1ORZO 5SkAnR8rM6++4yePhel+nfPlUNh/iRfN =UF1T -END PGP SIGNATURE- ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] fsck, /home, btrfs, multiple partitions/drives, boot failure [Ubuntu 15.04]
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 05/27/2015 04:00 PM, Reindl Harald wrote: > sounds like https://bugzilla.redhat.com/show_bug.cgi?id=1217969 Thanks for the pointer. I think my situation is different but it does show that I should test with fsck.mode=skip and hopefully systemd will skip whatever is confusing it. I only have one non-btrfs filesystem (/boot ext4) so I don't need fsck that much anyway. Roger -BEGIN PGP SIGNATURE- Version: GnuPG v1 iEYEARECAAYFAlVmVG8ACgkQmOOfHg372QTxSACdFW+pZfRWBywf4/eoaM3TgTYR +skAoIIu8KbEuHroZeyW/jFLePCxH4Tv =Nfmt -END PGP SIGNATURE- ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] fsck, /home, btrfs, multiple partitions/drives, boot failure [Ubuntu 15.04]
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 My immediate problem is a boot failure with systemd on Ubuntu 15.04 because of fsck issues (systemd timing out fscking something it shouldn't). Prior Ubuntu releases and upstart work just fine. Martin Pitt @ Ubuntu said I should bring the issue here in the Ubuntu bug report: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1447879 I have 6 drives in my system. Two identical 960GB SSDs (model, firmware etc all the same, only serial number difference), another two identical 256GB SSDs (same story), and two spinning drives. Of note is that my root and /home are both btrfs subvolumes of a RAID0 btrfs using the two first SSDs. /etc/fstab has these two lines for them (wrapped by email client): UUID=3ff68715-0daa-4e44-8de2-0997f36d8ab6 / btrfs defaults,autodefrag,compress=lzo,subvol=@ 0 1 UUID=3ff68715-0daa-4e44-8de2-0997f36d8ab6 /home btrfs defaults,autodefrag,compress=lzo,subvol=@home 0 2 blkid output mentioning that UUID: /dev/sda1: LABEL="main" UUID="3ff68715-0daa-4e44-8de2-0997f36d8ab6" UUID_SUB="12243c27-9502-4a1e-b1d1-d1998107b9e4" TYPE="btrfs" PARTUUID="011a8e03-01" /dev/sdb1: LABEL="main" UUID="3ff68715-0daa-4e44-8de2-0997f36d8ab6" UUID_SUB="abda2c4f-3346-44e5-b32e-7c1bba0ba728" TYPE="btrfs" PARTUUID="1537012a-01" What happens is that / is mounted successfully, as are all the other filesystems that aren't /home or mounted below /home. There will be a message about waiting for fsck either including the UUID above, or CT960M500SSD1 (drive id), and after 1m30s it times out and dumps me in a root shell. The devices/partitions are already mounted as root, so no amount of further checking makes sense. If it just went ahead and mounted the @home subvolume it would be fine. Instead systemd is unhelpfully timing out, without any diagnostics as to why it is trying this and why it doesn't succeed. Note that /sbin/fsck.btrfs is a shell script (Suse/SGI copyright) that just prints out "BTRFS file system" if the device node exists - and doesn't do anything else. The Ubuntu bug report includes numerous attachments with various systemctl and similar outputs, full /etc/fstab etc. I'll happily capture whatever else can help diagnose and fix this problem. Roger -BEGIN PGP SIGNATURE- Version: GnuPG v1 iEYEARECAAYFAlVmMQoACgkQmOOfHg372QQ7xgCgy1K0bak/EEy+7YcNR2YZSFcD GxUAn293LNyeEYpQMIqKv5KNMLaEcv9G =Ms/5 -END PGP SIGNATURE- ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel