svn commit: r272324 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Xin LI delphij at FreeBSD.org
Tue Sep 30 18:50:46 UTC 2014


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);


More information about the svn-src-head mailing list