Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Apr 2024 07:39:11 +0000
From:      bugzilla-noreply@freebsd.org
To:        fs@FreeBSD.org
Subject:   [Bug 278494] Hang during boot after recent ZFS update in CURRENT
Message-ID:  <bug-278494-3630-2tLi9c01ni@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-278494-3630@https.bugs.freebsd.org/bugzilla/>
References:  <bug-278494-3630@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D278494

--- Comment #6 from Kyle Ambroff-Kao <kyle@ambroffkao.com> ---
I think I see the bug. Note that this comment says that it skips handling
faults on device open *or flush*, but it is checking for IOCTL not FLUSH in
that if condition.

--- a/module/zfs/zio_inject.c
+++ b/module/zfs/zio_inject.c
@@ -364,10 +364,10 @@ zio_handle_device_injection_impl(vdev_t *vd, zio_t *z=
io,
int err1, int err2)
        int ret =3D 0;

        /*
-        * We skip over faults in the labels unless it's during
-        * device open (i.e. zio =3D=3D NULL).
+        * We skip over faults in the labels unless it's during device open
+        * (i.e. zio =3D=3D NULL) or a device flush (offset is meaningless)
         */
-       if (zio !=3D NULL) {
+       if (zio !=3D NULL && zio->io_type !=3D ZIO_TYPE_IOCTL) {
                uint64_t offset =3D zio->io_offset;

                if (offset < VDEV_LABEL_START_SIZE ||

This is changed upstream in a later change
https://github.com/openzfs/zfs/commit/d7605ae77b7ad176e8dbd5649fe4d14f5f4e8=
b9f

I'll confirm that this is the issue.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-278494-3630-2tLi9c01ni>