Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Nov 2011 07:39:01 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org
Subject:   svn commit: r227927 - releng/9.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201111240739.pAO7d2oU083697@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pjd
Date: Thu Nov 24 07:39:01 2011
New Revision: 227927
URL: http://svn.freebsd.org/changeset/base/227927

Log:
  MFC r227110,r227111:
  
  r227110:
  
  In zvol_open() if the spa_namespace_lock is already held, it means that
  ZFS is trying to open and taste ZVOL as its VDEV. This is not supported,
  so return an error instead of panicing on spa_namespace_lock recursion.
  
  Reported by:	Robert Millan <rmh@debian.org>
  PR:		kern/162008
  
  r227111:
  
  Correct typo in comment.
  
  Reported by:	Fabian Keil <fk@fabiankeil.de>
  
  Approved by:	re (kib)

Modified:
  releng/9.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
Directory Properties:
  releng/9.0/sys/   (props changed)
  releng/9.0/sys/amd64/include/xen/   (props changed)
  releng/9.0/sys/boot/   (props changed)
  releng/9.0/sys/boot/i386/efi/   (props changed)
  releng/9.0/sys/boot/ia64/efi/   (props changed)
  releng/9.0/sys/boot/ia64/ski/   (props changed)
  releng/9.0/sys/boot/powerpc/boot1.chrp/   (props changed)
  releng/9.0/sys/boot/powerpc/ofw/   (props changed)
  releng/9.0/sys/cddl/contrib/opensolaris/   (props changed)
  releng/9.0/sys/conf/   (props changed)
  releng/9.0/sys/contrib/dev/acpica/   (props changed)
  releng/9.0/sys/contrib/octeon-sdk/   (props changed)
  releng/9.0/sys/contrib/pf/   (props changed)
  releng/9.0/sys/contrib/x86emu/   (props changed)

Modified: releng/9.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
==============================================================================
--- releng/9.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c	Thu Nov 24 07:37:19 2011	(r227926)
+++ releng/9.0/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c	Thu Nov 24 07:39:01 2011	(r227927)
@@ -875,6 +875,14 @@ zvol_open(struct g_provider *pp, int fla
 	zvol_state_t *zv;
 	int err = 0;
 
+	if (MUTEX_HELD(&spa_namespace_lock)) {
+		/*
+		 * If the spa_namespace_lock is being held, it means that ZFS
+		 * is trying to open ZVOL as its VDEV. This is not supported.
+		 */
+		return (EOPNOTSUPP);
+	}
+
 	mutex_enter(&spa_namespace_lock);
 
 	zv = pp->private;



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