[Bug 281547] nvd->nda + /dev/diskid + zfs triggers locking issues and partition not in /dev
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 281547] nvd->nda + /dev/diskid + zfs triggers locking issues and partition not in /dev"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 281547] nvd->nda + /dev/diskid + zfs triggers locking issues and partition not in /dev"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 281547] nvd->nda + /dev/diskid + zfs triggers locking issues and partition not in /dev"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 281547] nvd->nda + /dev/diskid + zfs triggers locking issues and partition not in /dev"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 281547] nvd->nda + /dev/diskid + zfs triggers locking issues and partition not in /dev"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 281547] nvd->nda + /dev/diskid + zfs triggers locking issues and partition not in /dev"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 16 Sep 2024 23:21:35 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281547
Bug ID: 281547
Summary: nvd->nda + /dev/diskid + zfs triggers locking issues
and partition not in /dev
Product: Base System
Version: 14.1-STABLE
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: bugs@FreeBSD.org
Reporter: russell.stuart@akips.com
Created attachment 253614
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=253614&action=edit
Problem 1 configuration just before reboot
The issue is that after doing a FreeBSD 13 -> 14, the FreeBSD 14 system fails
to boot.
Two examples are given here that look different, but they share a lot of common
factors and workarounds are the same, so I suspect the underlying cause is the
same. The workaround for both is adding either or both of these lines to
/boot/loader.conf and ensure they are preserved during the 13 -> 14 upgrade:
a. hw.nvme.use_nvd="1"
b. kern.geom.label.disk_ident.enable="0"
I suspect https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241541 is the same
issue.
Problem 1: After the upgrade from FreeBSD 13 -> 14, 14 fails to boot. The
console displays problem-1-screenshot.png after the failure happens. It
contains the ZFS WARING lines shown below repeated many times, whereupon it
gives up and displays the "mountpoint>" prompt:
ZFS WARNING: Unable to open diskid/DISK-2128309CF86Cp3 for writing
(error=1)
ZFS WARNING: Unable to open diskid/DISK-2128309CF86Cp4 for writing
(error=1)
ZFS WARNING: Unable to open gpt/akips-home for writing (error=1)
Mounting from zfs:akips/ROOT/1 failed with error 1
Loader variables:
vfs.root.mountfrom=zfs:akips/ROOT/1
<....elided....>
mountroot>
I won't describe how here, but from this state I've rebooted back to FreeBSD 13
and got the same error.
Problem 2: After the upgrade from 13 -> 14, 14 fails to boot. The console
displays problem-2-screenshot.png after the failure happens. The error message
says it fails to boot because /dev/nda0p1 can't be mounted as /boot/efi. The
reason if fails to mount is /dev/nvd0p1 doesn't exist. While /dev/nvd0 does
exist (it's a symlink to nda0), no partition devices exist (ie, neither nda0p1
nor nvd0p1), so attaching the swap partition /dev/nvd0p2 also failed. All
files under /dev after the reboot are shown in the attachment
problem-2-lr-lR-dev.txt. Since this is a temporary boot environment, rebooting
reverts back to the FreeBSD 13 root partition that worked moments ago. It now
fails with the same error.
Reproduction
------------
Some bits are common to both:
Hardware:
- amd64.
- A single nvme drive, at least 50GB.
- No other drives connected.
- 8GB RAM.
Software:
- Very specific disk layout (see the problem descriptions below).
- Doing an upgrade from FreeBSD 13 (nvd) to FreeBSD 14 (nda).
I can provide USB and .iso boot images that reproduce the problem if you have
the hardware described above. I reproduced it on a NUC and VMWare. I suspect
I could reproduce it on QEMU if I could figure out a way to configure a nvme
drive that SeaBIOS/OVMF could boot off and FreeBSD 13/14 recognised. I can get
either one of those working, but not both at the same time.
Reproducing Problem 1
---------------------
This only happens when using BIOS firmware and the disk layout is as shown in
the attachment problem-1-config.txt. That is the state of play just after a
new install which is an upgrade from FreeBSD 13 to 14 is completed, just before
the reboot onto the new temporary boot environment, akips/ROOT/1, is done.
After the state shown in problem-1-screenshot.png is reached, if you "tickle"
geom/cam by plugging in a bootable USB stick (see
problem-1-screenshot-tickle.png) then type the right incantations into the
"mountpoint>" prompt, zfs finds the root partition and the machine boots
successfully. Once it's booted successfully the error doesn't happen any more.
Reproducing Problem 2
---------------------
This only happens when using EFI firmware and the disk layout below is as shown
in the attachment problem-2-config.txt. This is the state of play just after a
new install which is an upgrade from FreeBSD 13 to 14 is completed. The next
step is to reboot onto the new temporary boot environment, akips/ROOT/1.
Other notes
-----------
Both these are upgrades from a fresh install of FreeBSD 13 to 14. In both
cases, if you do a fresh install of the FreeBSD 14 image onto the same hardware
under the same conditions it works.
--
You are receiving this mail because:
You are the assignee for the bug.