ZFS Long time to import ZFS pool with high number snapshots

Long time to import ZFS pool with high number snapshots. The problem is that for each snapshot a device is created in /dev/vols. In Linux, there is a variable "snapdev". How in FreeBSD to turn off the visibility of snapshots?
 
dirty hack

Code:
--- 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);
 
Back
Top