Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions
This commit is contained in:
commit
e08af41a62
|
@ -279,6 +279,7 @@ static vdev_t *
|
||||||
vdev_alloc_common(spa_t *spa, uint_t id, uint64_t guid, vdev_ops_t *ops)
|
vdev_alloc_common(spa_t *spa, uint_t id, uint64_t guid, vdev_ops_t *ops)
|
||||||
{
|
{
|
||||||
vdev_t *vd;
|
vdev_t *vd;
|
||||||
|
int t;
|
||||||
|
|
||||||
vd = kmem_zalloc(sizeof (vdev_t), KM_SLEEP);
|
vd = kmem_zalloc(sizeof (vdev_t), KM_SLEEP);
|
||||||
|
|
||||||
|
@ -318,7 +319,7 @@ vdev_alloc_common(spa_t *spa, uint_t id, uint64_t guid, vdev_ops_t *ops)
|
||||||
mutex_init(&vd->vdev_dtl_lock, NULL, MUTEX_DEFAULT, NULL);
|
mutex_init(&vd->vdev_dtl_lock, NULL, MUTEX_DEFAULT, NULL);
|
||||||
mutex_init(&vd->vdev_stat_lock, NULL, MUTEX_DEFAULT, NULL);
|
mutex_init(&vd->vdev_stat_lock, NULL, MUTEX_DEFAULT, NULL);
|
||||||
mutex_init(&vd->vdev_probe_lock, NULL, MUTEX_DEFAULT, NULL);
|
mutex_init(&vd->vdev_probe_lock, NULL, MUTEX_DEFAULT, NULL);
|
||||||
for (int t = 0; t < DTL_TYPES; t++) {
|
for (t = 0; t < DTL_TYPES; t++) {
|
||||||
space_map_create(&vd->vdev_dtl[t], 0, -1ULL, 0,
|
space_map_create(&vd->vdev_dtl[t], 0, -1ULL, 0,
|
||||||
&vd->vdev_dtl_lock);
|
&vd->vdev_dtl_lock);
|
||||||
}
|
}
|
||||||
|
@ -513,7 +514,7 @@ vdev_alloc(spa_t *spa, vdev_t **vdp, nvlist_t *nv, vdev_t *parent, uint_t id,
|
||||||
void
|
void
|
||||||
vdev_free(vdev_t *vd)
|
vdev_free(vdev_t *vd)
|
||||||
{
|
{
|
||||||
int c;
|
int c, t;
|
||||||
spa_t *spa = vd->vdev_spa;
|
spa_t *spa = vd->vdev_spa;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -572,7 +573,7 @@ vdev_free(vdev_t *vd)
|
||||||
txg_list_destroy(&vd->vdev_dtl_list);
|
txg_list_destroy(&vd->vdev_dtl_list);
|
||||||
|
|
||||||
mutex_enter(&vd->vdev_dtl_lock);
|
mutex_enter(&vd->vdev_dtl_lock);
|
||||||
for (int t = 0; t < DTL_TYPES; t++) {
|
for (t = 0; t < DTL_TYPES; t++) {
|
||||||
space_map_unload(&vd->vdev_dtl[t]);
|
space_map_unload(&vd->vdev_dtl[t]);
|
||||||
space_map_destroy(&vd->vdev_dtl[t]);
|
space_map_destroy(&vd->vdev_dtl[t]);
|
||||||
}
|
}
|
||||||
|
@ -1388,11 +1389,11 @@ vdev_dtl_reassess(vdev_t *vd, uint64_t txg, uint64_t scrub_txg, int scrub_done)
|
||||||
{
|
{
|
||||||
spa_t *spa = vd->vdev_spa;
|
spa_t *spa = vd->vdev_spa;
|
||||||
avl_tree_t reftree;
|
avl_tree_t reftree;
|
||||||
int minref;
|
int c, t, minref;
|
||||||
|
|
||||||
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
|
ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
|
||||||
|
|
||||||
for (int c = 0; c < vd->vdev_children; c++)
|
for (c = 0; c < vd->vdev_children; c++)
|
||||||
vdev_dtl_reassess(vd->vdev_child[c], txg,
|
vdev_dtl_reassess(vd->vdev_child[c], txg,
|
||||||
scrub_txg, scrub_done);
|
scrub_txg, scrub_done);
|
||||||
|
|
||||||
|
@ -1450,7 +1451,7 @@ vdev_dtl_reassess(vdev_t *vd, uint64_t txg, uint64_t scrub_txg, int scrub_done)
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_enter(&vd->vdev_dtl_lock);
|
mutex_enter(&vd->vdev_dtl_lock);
|
||||||
for (int t = 0; t < DTL_TYPES; t++) {
|
for (t = 0; t < DTL_TYPES; t++) {
|
||||||
if (t == DTL_SCRUB)
|
if (t == DTL_SCRUB)
|
||||||
continue; /* leaf vdevs only */
|
continue; /* leaf vdevs only */
|
||||||
if (t == DTL_PARTIAL)
|
if (t == DTL_PARTIAL)
|
||||||
|
@ -1602,6 +1603,7 @@ vdev_resilver_needed(vdev_t *vd, uint64_t *minp, uint64_t *maxp)
|
||||||
boolean_t needed = B_FALSE;
|
boolean_t needed = B_FALSE;
|
||||||
uint64_t thismin = UINT64_MAX;
|
uint64_t thismin = UINT64_MAX;
|
||||||
uint64_t thismax = 0;
|
uint64_t thismax = 0;
|
||||||
|
int c;
|
||||||
|
|
||||||
if (vd->vdev_children == 0) {
|
if (vd->vdev_children == 0) {
|
||||||
mutex_enter(&vd->vdev_dtl_lock);
|
mutex_enter(&vd->vdev_dtl_lock);
|
||||||
|
@ -1617,7 +1619,7 @@ vdev_resilver_needed(vdev_t *vd, uint64_t *minp, uint64_t *maxp)
|
||||||
}
|
}
|
||||||
mutex_exit(&vd->vdev_dtl_lock);
|
mutex_exit(&vd->vdev_dtl_lock);
|
||||||
} else {
|
} else {
|
||||||
for (int c = 0; c < vd->vdev_children; c++) {
|
for (c = 0; c < vd->vdev_children; c++) {
|
||||||
vdev_t *cvd = vd->vdev_child[c];
|
vdev_t *cvd = vd->vdev_child[c];
|
||||||
uint64_t cmin, cmax;
|
uint64_t cmin, cmax;
|
||||||
|
|
||||||
|
@ -1639,10 +1641,12 @@ vdev_resilver_needed(vdev_t *vd, uint64_t *minp, uint64_t *maxp)
|
||||||
void
|
void
|
||||||
vdev_load(vdev_t *vd)
|
vdev_load(vdev_t *vd)
|
||||||
{
|
{
|
||||||
|
int c;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Recursively load all children.
|
* Recursively load all children.
|
||||||
*/
|
*/
|
||||||
for (int c = 0; c < vd->vdev_children; c++)
|
for (c = 0; c < vd->vdev_children; c++)
|
||||||
vdev_load(vd->vdev_child[c]);
|
vdev_load(vd->vdev_child[c]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue