Public bug reported: I accidentally booted a computer with a USB drive inserted. After the system booted, I was unable to log in to my desktop environment. I dropped to terminal and found that the zfs volume did not mount and I was dropped into the root directory. zpool status returns that no volume was defined which was worrying. Upon unplugging the USB drive and rebooting, the zfs volume returned and I could log in as usual.
lsblk is as follows on a normal boot: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ... sda 8:0 0 111.8G 0 disk ├─sda1 8:1 0 32G 0 part [SWAP] └─sda2 8:2 0 79.8G 0 part sdb 8:16 0 931.5G 0 disk ├─sdb1 8:17 0 931.5G 0 part └─sdb9 8:25 0 8M 0 part sdc 8:32 0 931.5G 0 disk ├─sdc1 8:33 0 931.5G 0 part └─sdc9 8:41 0 8M 0 part sdd 8:48 0 931.5G 0 disk ├─sdd1 8:49 0 931.5G 0 part └─sdd9 8:57 0 8M 0 part ... nvme0n1 259:0 0 232.9G 0 disk ├─nvme0n1p1 259:1 0 8M 0 part ├─nvme0n1p2 259:2 0 512M 0 part /boot/efi └─nvme0n1p3 259:3 0 232.4G 0 part / zpool status is as follows on a normal boot: pool: zpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM zpool ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 sdb ONLINE 0 0 0 sdc ONLINE 0 0 0 sdd ONLINE 0 0 0 cache sda2 ONLINE 0 0 0 errors: No known data errors I suspected what happened was that the USB drive somehow took a device node formerly assigned to one of the zfs disks and that threw the zfs loader off. Detaching the drive caused the device node to become reassigned to the zfs disks and thus the system was able to boot as normal. Can a fix be devised for this? Is it possible for ZFS to do some extra work like assigning a UUID to it's volumes during creation, then during remounting, instead of just using the stored device nodes, probe each drive attached for matching UUIDs and remounting the volume based on the UUIDs? ** Affects: zfs-linux (Ubuntu) Importance: Undecided Status: New ** Description changed: I accidentally booted a computer with a USB drive inserted. After the system booted, I was unable to log in to my desktop environment. I dropped to terminal and found that the zfs volume did not mount and I was dropped into the root directory. zpool status returns that no volume was defined which was worrying. Upon unplugging the USB drive and rebooting, the zfs volume returned and I could log in as usual. - lsblk is as follows: + lsblk is as follows on a normal boot: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ... - sda 8:0 0 111.8G 0 disk + sda 8:0 0 111.8G 0 disk ├─sda1 8:1 0 32G 0 part [SWAP] - └─sda2 8:2 0 79.8G 0 part - sdb 8:16 0 931.5G 0 disk - ├─sdb1 8:17 0 931.5G 0 part - └─sdb9 8:25 0 8M 0 part - sdc 8:32 0 931.5G 0 disk - ├─sdc1 8:33 0 931.5G 0 part - └─sdc9 8:41 0 8M 0 part - sdd 8:48 0 931.5G 0 disk - ├─sdd1 8:49 0 931.5G 0 part - └─sdd9 8:57 0 8M 0 part + └─sda2 8:2 0 79.8G 0 part + sdb 8:16 0 931.5G 0 disk + ├─sdb1 8:17 0 931.5G 0 part + └─sdb9 8:25 0 8M 0 part + sdc 8:32 0 931.5G 0 disk + ├─sdc1 8:33 0 931.5G 0 part + └─sdc9 8:41 0 8M 0 part + sdd 8:48 0 931.5G 0 disk + ├─sdd1 8:49 0 931.5G 0 part + └─sdd9 8:57 0 8M 0 part ... - nvme0n1 259:0 0 232.9G 0 disk - ├─nvme0n1p1 259:1 0 8M 0 part + nvme0n1 259:0 0 232.9G 0 disk + ├─nvme0n1p1 259:1 0 8M 0 part ├─nvme0n1p2 259:2 0 512M 0 part /boot/efi └─nvme0n1p3 259:3 0 232.4G 0 part / - zpool status is as follows: - pool: zpool - state: ONLINE - scan: none requested + zpool status is as follows on a normal boot: + pool: zpool + state: ONLINE + scan: none requested config: - NAME STATE READ WRITE CKSUM - zpool ONLINE 0 0 0 - raidz1-0 ONLINE 0 0 0 - sdb ONLINE 0 0 0 - sdc ONLINE 0 0 0 - sdd ONLINE 0 0 0 - cache - sda2 ONLINE 0 0 0 + NAME STATE READ WRITE CKSUM + zpool ONLINE 0 0 0 + raidz1-0 ONLINE 0 0 0 + sdb ONLINE 0 0 0 + sdc ONLINE 0 0 0 + sdd ONLINE 0 0 0 + cache + sda2 ONLINE 0 0 0 errors: No known data errors I suspected what happened was that the USB drive somehow took a device node formerly assigned to one of the zfs disks and that threw the zfs loader off. Detaching the drive caused the device node to become reassigned to the zfs disks and thus the system was able to boot as normal. Can a fix be devised for this? Is it possible for ZFS to do some extra work like assigning a UUID to it's volumes during creation, then during remounting, instead of just using the stored device nodes, probe each drive attached for matching UUIDs and remounting the volume based on the UUIDs? -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1938462 Title: If a computer is booted with a USB drive installed, ZFS will fail to find any pools To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1938462/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs