Lines Matching defs:gn
1940 zio_read_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1942 if (gn != NULL)
1951 zio_rewrite_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1955 if (gn != NULL) {
1957 gn->gn_gbh, SPA_GANGBLOCKSIZE, NULL, NULL, pio->io_priority,
1968 if (gn != pio->io_gang_leader->io_gang_tree) {
1989 zio_free_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1998 zio_claim_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
2018 zio_gang_node_t *gn;
2022 gn = kmem_zalloc(sizeof (*gn), KM_SLEEP);
2023 gn->gn_gbh = zio_buf_alloc(SPA_GANGBLOCKSIZE);
2024 *gnpp = gn;
2026 return (gn);
2032 zio_gang_node_t *gn = *gnpp;
2035 ASSERT(gn->gn_child[g] == NULL);
2037 zio_buf_free(gn->gn_gbh, SPA_GANGBLOCKSIZE);
2038 kmem_free(gn, sizeof (*gn));
2045 zio_gang_node_t *gn = *gnpp;
2047 if (gn == NULL)
2051 zio_gang_tree_free(&gn->gn_child[g]);
2059 zio_gang_node_t *gn = zio_gang_node_alloc(gnpp);
2064 zio_nowait(zio_read(gio, gio->io_spa, bp, gn->gn_gbh,
2065 SPA_GANGBLOCKSIZE, zio_gang_tree_assemble_done, gn,
2073 zio_gang_node_t *gn = zio->io_private;
2085 ASSERT(zio->io_data == gn->gn_gbh);
2087 ASSERT(gn->gn_gbh->zg_tail.zec_magic == ZEC_MAGIC);
2090 blkptr_t *gbp = &gn->gn_gbh->zg_blkptr[g];
2093 zio_gang_tree_assemble(gio, gbp, &gn->gn_child[g]);
2098 zio_gang_tree_issue(zio_t *pio, zio_gang_node_t *gn, blkptr_t *bp, void *data)
2103 ASSERT(BP_IS_GANG(bp) == !!gn);
2105 ASSERT(BP_GET_LSIZE(bp) == BP_GET_PSIZE(bp) || gn == gio->io_gang_tree);
2108 * If you're a gang header, your data is in gn->gn_gbh.
2109 * If you're a gang member, your data is in 'data' and gn == NULL.
2111 zio = zio_gang_issue_func[gio->io_type](pio, bp, gn, data);
2113 if (gn != NULL) {
2114 ASSERT(gn->gn_gbh->zg_tail.zec_magic == ZEC_MAGIC);
2117 blkptr_t *gbp = &gn->gn_gbh->zg_blkptr[g];
2120 zio_gang_tree_issue(zio, gn->gn_child[g], gbp, data);
2125 if (gn == gio->io_gang_tree && gio->io_data != NULL)
2206 zio_gang_node_t *gn, **gnpp;
2265 gn = zio_gang_node_alloc(gnpp);
2266 gbh = gn->gn_gbh;
2295 &gn->gn_child[g], pio->io_priority,
2932 zio_dva_unallocate(zio_t *zio, zio_gang_node_t *gn, blkptr_t *bp)
2940 if (gn != NULL) {
2942 zio_dva_unallocate(zio, gn->gn_child[g],
2943 &gn->gn_gbh->zg_blkptr[g]);