Re: [systemd-devel] fsck, /home, btrfs, multiple partitions/drives, boot failure [Ubuntu 15.04]

2015-05-29 Thread Roger Binns
-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]

2015-05-28 Thread Roger Binns
-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]

2015-05-27 Thread Roger Binns
-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]

2015-05-27 Thread Roger Binns
-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