Lines Matching refs:gn

1404 zio_read_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1406 if (gn != NULL)
1415 zio_rewrite_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1419 if (gn != NULL) {
1421 gn->gn_gbh, SPA_GANGBLOCKSIZE, NULL, NULL, pio->io_priority,
1432 if (gn != pio->io_gang_leader->io_gang_tree) {
1453 zio_free_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1461 zio_claim_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1481 zio_gang_node_t *gn;
1485 gn = kmem_zalloc(sizeof (*gn), KM_SLEEP);
1486 gn->gn_gbh = zio_buf_alloc(SPA_GANGBLOCKSIZE);
1487 *gnpp = gn;
1489 return (gn);
1495 zio_gang_node_t *gn = *gnpp;
1498 ASSERT(gn->gn_child[g] == NULL);
1500 zio_buf_free(gn->gn_gbh, SPA_GANGBLOCKSIZE);
1501 kmem_free(gn, sizeof (*gn));
1508 zio_gang_node_t *gn = *gnpp;
1510 if (gn == NULL)
1514 zio_gang_tree_free(&gn->gn_child[g]);
1522 zio_gang_node_t *gn = zio_gang_node_alloc(gnpp);
1527 zio_nowait(zio_read(gio, gio->io_spa, bp, gn->gn_gbh,
1528 SPA_GANGBLOCKSIZE, zio_gang_tree_assemble_done, gn,
1536 zio_gang_node_t *gn = zio->io_private;
1548 ASSERT(zio->io_data == gn->gn_gbh);
1550 ASSERT(gn->gn_gbh->zg_tail.zec_magic == ZEC_MAGIC);
1553 blkptr_t *gbp = &gn->gn_gbh->zg_blkptr[g];
1556 zio_gang_tree_assemble(gio, gbp, &gn->gn_child[g]);
1561 zio_gang_tree_issue(zio_t *pio, zio_gang_node_t *gn, blkptr_t *bp, void *data)
1566 ASSERT(BP_IS_GANG(bp) == !!gn);
1568 ASSERT(BP_GET_LSIZE(bp) == BP_GET_PSIZE(bp) || gn == gio->io_gang_tree);
1571 * If you're a gang header, your data is in gn->gn_gbh.
1572 * If you're a gang member, your data is in 'data' and gn == NULL.
1574 zio = zio_gang_issue_func[gio->io_type](pio, bp, gn, data);
1576 if (gn != NULL) {
1577 ASSERT(gn->gn_gbh->zg_tail.zec_magic == ZEC_MAGIC);
1580 blkptr_t *gbp = &gn->gn_gbh->zg_blkptr[g];
1583 zio_gang_tree_issue(zio, gn->gn_child[g], gbp, data);
1588 if (gn == gio->io_gang_tree)
1668 zio_gang_node_t *gn, **gnpp;
1693 gn = zio_gang_node_alloc(gnpp);
1694 gbh = gn->gn_gbh;
1721 zio_write_gang_member_ready, NULL, &gn->gn_child[g],
2167 zio_dva_unallocate(zio_t *zio, zio_gang_node_t *gn, blkptr_t *bp)
2175 if (gn != NULL) {
2177 zio_dva_unallocate(zio, gn->gn_child[g],
2178 &gn->gn_gbh->zg_blkptr[g]);