Crap. Committed the wrong file. Fix coming shortly.
On Thu, Nov 30, 2017 at 8:28 AM, Alan Somers <asom...@freebsd.org> wrote: > Author: asomers > Date: Thu Nov 30 15:28:29 2017 > New Revision: 326399 > URL: https://svnweb.freebsd.org/changeset/base/326399 > > Log: > Fix assertion when ZFS fails to open certain devices > > "panic: vdev_geom_close_locked: cp->private is NULL" > This panic will result if ZFS fails to open a device due to either of the > following reasons: > > 1) The device's sector size is greater than 8KB. > 2) ZFS wants to open the device RW, but it can't be opened for writing. > > The solution is to change the initialization order to ensure that the > assertion will be satisfied. > > PR: 221066 > Reported by: David NewHamlet <wheelcomp...@gmail.com> > Reviewed by: avg > MFC after: 3 weeks > Sponsored by: Spectra Logic Corp > Differential Revision: https://reviews.freebsd.org/D13278 > > Modified: > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Thu > Nov 30 15:10:11 2017 (r326398) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Thu > Nov 30 15:28:29 2017 (r326399) > @@ -2398,7 +2398,7 @@ vdev_raidz_io_done(zio_t *zio) > */ > if (parity_errors + parity_untried < > rm->rm_firstdatacol || > - (zio->io_flags & ZIO_FLAG_RESILVER)) { > + (zio->io_flags & (ZIO_FLAG_RESILVER | > ZIO_FLAG_SCRUB))) { > n = raidz_parity_verify(zio, rm); > unexpected_errors += n; > ASSERT(parity_errors + n <= > @@ -2450,7 +2450,7 @@ vdev_raidz_io_done(zio_t *zio) > * out to failed devices later. > */ > if (parity_errors < rm->rm_firstdatacol - n || > - (zio->io_flags & ZIO_FLAG_RESILVER)) { > + (zio->io_flags & (ZIO_FLAG_RESILVER | > ZIO_FLAG_SCRUB))) { > n = raidz_parity_verify(zio, rm); > unexpected_errors += n; > ASSERT(parity_errors + n <= > @@ -2552,7 +2552,8 @@ done: > zio_checksum_verified(zio); > > if (zio->io_error == 0 && spa_writeable(zio->io_spa) && > - (unexpected_errors || (zio->io_flags & ZIO_FLAG_RESILVER))) { > + (unexpected_errors || > + (zio->io_flags & (ZIO_FLAG_RESILVER | ZIO_FLAG_SCRUB)))) { > /* > * Use the good data we have in hand to repair damaged > children. > */ > _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"