Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Oct 2018 16:14:01 +0000 (UTC)
From:      Mateusz Guzik <mjg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r339355 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201810141614.w9EGE1bv000325@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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
  
  r338927("zfs: depessimize zfs_root with rmlocks") failed to error check
  the mount before caching root vnode.
  
  Results in crashes in rrw_enter_read_impl tracing back to zfs_mount.
  
  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
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c	Sun Oct 14 05:09:43 2018	(r339354)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c	Sun Oct 14 16:14:01 2018	(r339355)
@@ -1929,7 +1929,8 @@ zfs_mount(vfs_t *vfsp)
 	error = zfs_domount(vfsp, osname);
 	PICKUP_GIANT();
 
-	zfs_root_setvnode((zfsvfs_t *)vfsp->vfs_data);
+	if (error == 0)
+		zfs_root_setvnode((zfsvfs_t *)vfsp->vfs_data);
 
 #ifdef illumos
 	/*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201810141614.w9EGE1bv000325>