| 428 | } |
| 429 | |
| 430 | static void |
| 431 | osd_init(void *arg __unused) |
| 432 | { |
| 433 | u_int i; |
| 434 | |
| 435 | for (i = OSD_FIRST; i <= OSD_LAST; i++) { |
| 436 | sx_init(&osdm[i].osd_module_lock, "osd_module"); |
| 437 | rm_init(&osdm[i].osd_object_lock, "osd_object"); |
| 438 | mtx_init(&osdm[i].osd_list_lock, "osd_list", NULL, MTX_DEF); |
| 439 | LIST_INIT(&osdm[i].osd_list); |
| 440 | osdm[i].osd_destructors = NULL; |
| 441 | osdm[i].osd_ntslots = 0; |
| 442 | osdm[i].osd_methods = NULL; |
| 443 | } |
| 444 | } |
| 445 | SYSINIT(osd, SI_SUB_LOCK, SI_ORDER_ANY, osd_init, NULL); |