Create minors for all zvols

It was noticed that when you have zvols in multiple datasets
not all of the zvol devices are created at module load time.
Fajarnugraha did the leg work to identify that the root cause of
this bug is a non-zero return value from zvol_create_minors_cb().

Returning a non-zero value from the dmu_objset_find_spa() callback
function results in aborting processing the remaining children in
a dataset.  Since we want to ensure that the callback in run on
all children regardless of error simply unconditionally return
zero from the zvol_create_minors_cb().  This callback function
is solely used for this purpose so surpressing the error is safe.

Closes #96
This commit is contained in:
Brian Behlendorf 2011-02-16 09:40:29 -08:00
parent 2c395def27
commit d567444809

View File

@ -1230,7 +1230,8 @@ zvol_create_minors_cb(spa_t *spa, uint64_t dsobj,
if (strchr(dsname, '/') == NULL) if (strchr(dsname, '/') == NULL)
return 0; return 0;
return __zvol_create_minor(dsname); (void) __zvol_create_minor(dsname);
return (0);
} }
/* /*