summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2011-02-16 09:40:29 -0800
committerBrian Behlendorf <[email protected]>2011-02-16 09:50:06 -0800
commitd5674448094cec6eb3563afb63cc1e096bc5b280 (patch)
tree3ffc16f3644ec8843841372c050d71afa2febb27
parent2c395def2763ccc7a549d297f7f11bd304caaeae (diff)
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
-rw-r--r--module/zfs/zvol.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c
index 3d829a3d4..04c885f68 100644
--- a/module/zfs/zvol.c
+++ b/module/zfs/zvol.c
@@ -1230,7 +1230,8 @@ zvol_create_minors_cb(spa_t *spa, uint64_t dsobj,
if (strchr(dsname, '/') == NULL)
return 0;
- return __zvol_create_minor(dsname);
+ (void) __zvol_create_minor(dsname);
+ return (0);
}
/*