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
        /*
_______________________________________________
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"

Reply via email to