1313 |
1313 |
1314 return (0); |
1314 return (0); |
1315 } |
1315 } |
1316 |
1316 |
1317 struct findarg { |
1317 struct findarg { |
1318 int (*func)(char *, void *); |
1318 int (*func)(const char *, void *); |
1319 void *arg; |
1319 void *arg; |
1320 }; |
1320 }; |
1321 |
1321 |
1322 /* ARGSUSED */ |
1322 /* ARGSUSED */ |
1323 static int |
1323 static int |
1324 findfunc(spa_t *spa, uint64_t dsobj, const char *dsname, void *arg) |
1324 findfunc(spa_t *spa, uint64_t dsobj, const char *dsname, void *arg) |
1325 { |
1325 { |
1326 struct findarg *fa = arg; |
1326 struct findarg *fa = arg; |
1327 return (fa->func((char *)dsname, fa->arg)); |
1327 return (fa->func(dsname, fa->arg)); |
1328 } |
1328 } |
1329 |
1329 |
1330 /* |
1330 /* |
1331 * Find all objsets under name, and for each, call 'func(child_name, arg)'. |
1331 * Find all objsets under name, and for each, call 'func(child_name, arg)'. |
1332 * Perhaps change all callers to use dmu_objset_find_spa()? |
1332 * Perhaps change all callers to use dmu_objset_find_spa()? |
1333 */ |
1333 */ |
1334 int |
1334 int |
1335 dmu_objset_find(char *name, int func(char *, void *), void *arg, int flags) |
1335 dmu_objset_find(char *name, int func(const char *, void *), void *arg, |
|
1336 int flags) |
1336 { |
1337 { |
1337 struct findarg fa; |
1338 struct findarg fa; |
1338 fa.func = func; |
1339 fa.func = func; |
1339 fa.arg = arg; |
1340 fa.arg = arg; |
1340 return (dmu_objset_find_spa(NULL, name, findfunc, &fa, flags)); |
1341 return (dmu_objset_find_spa(NULL, name, findfunc, &fa, flags)); |