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);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to