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>