--- sys.old/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c 2017-07-21 02:42:01.000000000 +0300
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c 2017-08-10 11:36:19.983718000 +0300
@@ -1593,7 +1593,6 @@
for (pair = nvlist_next_nvpair(snaps, NULL); pair != NULL;
pair = nvlist_next_nvpair(snaps, pair)) {
char *snapname = nvpair_name(pair);
- zvol_create_minors(snapname);
}
}
#endif
diff -rNPu sys.old/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
--- sys.old/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c 2017-08-10 11:21:51.773021000 +0300
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c 2017-08-10 11:23:56.452271000 +0300
@@ -2905,9 +2905,7 @@
dsl_dataset_long_hold(os->os_dsl_dataset, FTAG);
dsl_pool_rele(dmu_objset_pool(os), FTAG);
error = zvol_create_minor(name);
- if (error == 0 || error == EEXIST) {
- error = zvol_create_snapshots(os, name);
- } else {
+ if (error && error != EEXIST) {
printf("ZFS WARNING: Unable to create ZVOL %s (error=%d).\n",
name, error);