Lines Matching refs:iv

293 	indirect_vsd_t *iv = zio->io_vsd;  in vdev_indirect_map_free()  local
296 while ((is = list_head(&iv->iv_splits)) != NULL) { in vdev_indirect_map_free()
302 list_remove(&iv->iv_splits, is); in vdev_indirect_map_free()
313 kmem_free(iv, sizeof (*iv)); in vdev_indirect_map_free()
1180 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_gather_splits() local
1217 list_insert_tail(&iv->iv_splits, is); in vdev_indirect_gather_splits()
1241 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_read_all() local
1245 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_read_all()
1246 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_read_all()
1274 iv->iv_reconstruct = B_TRUE; in vdev_indirect_read_all()
1281 indirect_vsd_t *iv = kmem_zalloc(sizeof (*iv), KM_SLEEP); in vdev_indirect_io_start() local
1282 list_create(&iv->iv_splits, in vdev_indirect_io_start()
1285 zio->io_vsd = iv; in vdev_indirect_io_start()
1302 indirect_split_t *first = list_head(&iv->iv_splits); in vdev_indirect_io_start()
1319 ASSERT3P(list_next(&iv->iv_splits, first), ==, NULL); in vdev_indirect_io_start()
1326 iv->iv_split_block = B_TRUE; in vdev_indirect_io_start()
1349 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_io_start()
1350 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_io_start()
1404 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_repair() local
1414 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_repair()
1415 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_repair()
1443 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_all_checksum_errors() local
1448 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_all_checksum_errors()
1449 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_all_checksum_errors()
1474 vdev_indirect_splits_checksum_validate(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_checksum_validate() argument
1478 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_splits_checksum_validate()
1479 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_splits_checksum_validate()
1499 vdev_indirect_splits_enumerate_all(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_enumerate_all() argument
1503 iv->iv_attempts = 0; in vdev_indirect_splits_enumerate_all()
1505 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_splits_enumerate_all()
1506 is != NULL; is = list_next(&iv->iv_splits, is)) in vdev_indirect_splits_enumerate_all()
1510 iv->iv_attempts++; in vdev_indirect_splits_enumerate_all()
1513 if (vdev_indirect_splits_checksum_validate(iv, zio) == 0) in vdev_indirect_splits_enumerate_all()
1516 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_splits_enumerate_all()
1517 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_splits_enumerate_all()
1529 ASSERT3S(iv->iv_attempts, <=, iv->iv_unique_combinations); in vdev_indirect_splits_enumerate_all()
1540 vdev_indirect_splits_enumerate_randomly(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_enumerate_randomly() argument
1542 iv->iv_attempts = 0; in vdev_indirect_splits_enumerate_randomly()
1544 while (iv->iv_attempts < iv->iv_attempts_max) { in vdev_indirect_splits_enumerate_randomly()
1545 iv->iv_attempts++; in vdev_indirect_splits_enumerate_randomly()
1547 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_splits_enumerate_randomly()
1548 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_splits_enumerate_randomly()
1559 if (vdev_indirect_splits_checksum_validate(iv, zio) == 0) in vdev_indirect_splits_enumerate_randomly()
1573 vdev_indirect_splits_damage(indirect_vsd_t *iv, zio_t *zio) in vdev_indirect_splits_damage() argument
1576 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_splits_damage()
1577 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_splits_damage()
1593 int error = vdev_indirect_splits_enumerate_randomly(iv, zio); in vdev_indirect_splits_damage()
1604 iv->iv_attempts_max = 1; in vdev_indirect_splits_damage()
1606 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_splits_damage()
1607 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_splits_damage()
1619 iv->iv_attempts_max *= 2; in vdev_indirect_splits_damage()
1620 if (iv->iv_attempts_max > (1ULL << 16)) { in vdev_indirect_splits_damage()
1621 iv->iv_attempts_max = UINT64_MAX; in vdev_indirect_splits_damage()
1628 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_splits_damage()
1629 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_splits_damage()
1693 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_reconstruct_io_done() local
1697 iv->iv_unique_combinations = 1; in vdev_indirect_reconstruct_io_done()
1698 iv->iv_attempts_max = UINT64_MAX; in vdev_indirect_reconstruct_io_done()
1701 iv->iv_attempts_max = zfs_reconstruct_indirect_combinations_max; in vdev_indirect_reconstruct_io_done()
1710 known_good = (vdev_indirect_splits_damage(iv, zio) == 0); in vdev_indirect_reconstruct_io_done()
1719 for (indirect_split_t *is = list_head(&iv->iv_splits); in vdev_indirect_reconstruct_io_done()
1720 is != NULL; is = list_next(&iv->iv_splits, is)) { in vdev_indirect_reconstruct_io_done()
1757 iv->iv_unique_combinations *= is->is_unique_children; in vdev_indirect_reconstruct_io_done()
1760 if (iv->iv_unique_combinations <= iv->iv_attempts_max) in vdev_indirect_reconstruct_io_done()
1761 error = vdev_indirect_splits_enumerate_all(iv, zio); in vdev_indirect_reconstruct_io_done()
1763 error = vdev_indirect_splits_enumerate_randomly(iv, zio); in vdev_indirect_reconstruct_io_done()
1776 ASSERT0(vdev_indirect_splits_checksum_validate(iv, zio)); in vdev_indirect_reconstruct_io_done()
1785 indirect_vsd_t *iv = zio->io_vsd; in vdev_indirect_io_done() local
1787 if (iv->iv_reconstruct) { in vdev_indirect_io_done()
1797 if (!iv->iv_split_block) { in vdev_indirect_io_done()