Fix proper list node initialization
This commit is contained in:
parent
bec036636e
commit
94944fab96
|
@ -755,6 +755,8 @@ hdr_cons(void *vbuf, void *unused, int kmflag)
|
||||||
refcount_create(&buf->b_refcnt);
|
refcount_create(&buf->b_refcnt);
|
||||||
cv_init(&buf->b_cv, NULL, CV_DEFAULT, NULL);
|
cv_init(&buf->b_cv, NULL, CV_DEFAULT, NULL);
|
||||||
mutex_init(&buf->b_freeze_lock, NULL, MUTEX_DEFAULT, NULL);
|
mutex_init(&buf->b_freeze_lock, NULL, MUTEX_DEFAULT, NULL);
|
||||||
|
list_link_init(&buf->b_arc_node);
|
||||||
|
list_link_init(&buf->b_l2node);
|
||||||
|
|
||||||
ARCSTAT_INCR(arcstat_hdr_size, HDR_SIZE);
|
ARCSTAT_INCR(arcstat_hdr_size, HDR_SIZE);
|
||||||
return (0);
|
return (0);
|
||||||
|
@ -4352,6 +4354,7 @@ l2arc_add_vdev(spa_t *spa, vdev_t *vd, uint64_t start, uint64_t end)
|
||||||
adddev->l2ad_hand = adddev->l2ad_start;
|
adddev->l2ad_hand = adddev->l2ad_start;
|
||||||
adddev->l2ad_evict = adddev->l2ad_start;
|
adddev->l2ad_evict = adddev->l2ad_start;
|
||||||
adddev->l2ad_first = B_TRUE;
|
adddev->l2ad_first = B_TRUE;
|
||||||
|
list_link_init(&adddev->l2ad_node);
|
||||||
ASSERT3U(adddev->l2ad_write, >, 0);
|
ASSERT3U(adddev->l2ad_write, >, 0);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -58,6 +58,7 @@ dbuf_cons(void *vdb, void *unused, int kmflag)
|
||||||
mutex_init(&db->db_mtx, NULL, MUTEX_DEFAULT, NULL);
|
mutex_init(&db->db_mtx, NULL, MUTEX_DEFAULT, NULL);
|
||||||
cv_init(&db->db_changed, NULL, CV_DEFAULT, NULL);
|
cv_init(&db->db_changed, NULL, CV_DEFAULT, NULL);
|
||||||
refcount_create(&db->db_holds);
|
refcount_create(&db->db_holds);
|
||||||
|
list_link_init(&db->db_link);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -357,6 +357,7 @@ dsl_dataset_get_ref(dsl_pool_t *dp, uint64_t dsobj, void *tag,
|
||||||
ds->ds_dbuf = dbuf;
|
ds->ds_dbuf = dbuf;
|
||||||
ds->ds_object = dsobj;
|
ds->ds_object = dsobj;
|
||||||
ds->ds_phys = dbuf->db_data;
|
ds->ds_phys = dbuf->db_data;
|
||||||
|
list_link_init(&ds->ds_synced_link);
|
||||||
|
|
||||||
mutex_init(&ds->ds_lock, NULL, MUTEX_DEFAULT, NULL);
|
mutex_init(&ds->ds_lock, NULL, MUTEX_DEFAULT, NULL);
|
||||||
mutex_init(&ds->ds_opening_lock, NULL, MUTEX_DEFAULT, NULL);
|
mutex_init(&ds->ds_opening_lock, NULL, MUTEX_DEFAULT, NULL);
|
||||||
|
|
Loading…
Reference in New Issue