Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Sep 2014 18:50:46 +0000 (UTC)
From:      Xin LI <delphij@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r272324 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201409301850.s8UIokXo051151@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: delphij
Date: Tue Sep 30 18:50:45 2014
New Revision: 272324
URL: http://svnweb.freebsd.org/changeset/base/272324

Log:
  Fix a mismerge in r260183 which prevents snapshot zvol devices being
  removed and re-instate the fix in r242862.
  
  Reported by:	Leon Dang <ldang nahannisys com>, smh
  MFC after:	3 days

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Tue Sep 30 18:17:28 2014	(r272323)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Tue Sep 30 18:50:45 2014	(r272324)
@@ -3550,7 +3550,12 @@ zfs_ioc_destroy_snaps(const char *poolna
 
 	for (pair = nvlist_next_nvpair(snaps, NULL); pair != NULL;
 	    pair = nvlist_next_nvpair(snaps, pair)) {
-		(void) zfs_unmount_snap(nvpair_name(pair));
+		const char *name = nvpair_name(pair);
+
+		(void) zfs_unmount_snap(name);
+#if defined(__FreeBSD__)
+		(void) zvol_remove_minor(name);
+#endif
 	}
 
 	return (dsl_destroy_snapshots_nvl(snaps, defer, outnvl));
@@ -3644,7 +3649,6 @@ zfs_ioc_destroy_bookmarks(const char *po
 		if (strncmp(name, poolname, poollen) != 0 ||
 		    (name[poollen] != '/' && name[poollen] != '#'))
 			return (SET_ERROR(EXDEV));
-		(void) zvol_remove_minor(name);
 	}
 
 	error = dsl_bookmark_destroy(innvl, outnvl);



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