Date: Sun, 14 Oct 2018 11:34:50 -0600 From: Cy Schubert <Cy.Schubert@cschubert.com> To: Mateusz Guzik <mjg@FreeBSD.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org> Subject: RE: svn commit: r339355 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs Message-ID: <20181014173441.282E52DF8@spqr.komquats.com>
next in thread | raw e-mail | index | archive | help
Thank you. --- Sent using a tiny phone keyboard. Apologies for any typos and autocorrect. Also, this old phone only supports top post. Apologies. Cy Schubert <Cy.Schubert@cschubert.com> or <cy@freebsd.org> The need of the many outweighs the greed of the few. --- -----Original Message----- From: Mateusz Guzik Sent: 14/10/2018 10:14 To: src-committers@freebsd.org; svn-src-all@freebsd.org; svn-src-head@freeb= sd.org Subject: svn commit: r339355 - head/sys/cddl/contrib/opensolaris/uts/common= /fs/zfs Author: mjg Date: Sun Oct 14 16:14:01 2018 New Revision: 339355 URL: https://svnweb.freebsd.org/changeset/base/339355 Log: zfs: fix a panic after failed mount =20 r338927("zfs: depessimize zfs_root with rmlocks") failed to error check the mount before caching root vnode. =20 Results in crashes in rrw_enter_read_impl tracing back to zfs_mount. =20 Reported by: Mike Tancsa Tested by: allanjude Approved by: re (kib) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Sun Oc= t 14 05:09:43 2018 (r339354) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Sun Oc= t 14 16:14:01 2018 (r339355) @@ -1929,7 +1929,8 @@ zfs_mount(vfs_t *vfsp) error =3D zfs_domount(vfsp, osname); PICKUP_GIANT(); =20 - zfs_root_setvnode((zfsvfs_t *)vfsp->vfs_data); + if (error =3D=3D 0) + zfs_root_setvnode((zfsvfs_t *)vfsp->vfs_data); =20 #ifdef illumos /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20181014173441.282E52DF8>