Lines Matching defs:gn
1711 zio_read_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1713 if (gn != NULL)
1722 zio_rewrite_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1726 if (gn != NULL) {
1728 gn->gn_gbh, SPA_GANGBLOCKSIZE, NULL, NULL, pio->io_priority,
1739 if (gn != pio->io_gang_leader->io_gang_tree) {
1760 zio_free_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1768 zio_claim_gang(zio_t *pio, blkptr_t *bp, zio_gang_node_t *gn, void *data)
1788 zio_gang_node_t *gn;
1792 gn = kmem_zalloc(sizeof (*gn), KM_SLEEP);
1793 gn->gn_gbh = zio_buf_alloc(SPA_GANGBLOCKSIZE);
1794 *gnpp = gn;
1796 return (gn);
1802 zio_gang_node_t *gn = *gnpp;
1805 ASSERT(gn->gn_child[g] == NULL);
1807 zio_buf_free(gn->gn_gbh, SPA_GANGBLOCKSIZE);
1808 kmem_free(gn, sizeof (*gn));
1815 zio_gang_node_t *gn = *gnpp;
1817 if (gn == NULL)
1821 zio_gang_tree_free(&gn->gn_child[g]);
1829 zio_gang_node_t *gn = zio_gang_node_alloc(gnpp);
1834 zio_nowait(zio_read(gio, gio->io_spa, bp, gn->gn_gbh,
1835 SPA_GANGBLOCKSIZE, zio_gang_tree_assemble_done, gn,
1843 zio_gang_node_t *gn = zio->io_private;
1855 ASSERT(zio->io_data == gn->gn_gbh);
1857 ASSERT(gn->gn_gbh->zg_tail.zec_magic == ZEC_MAGIC);
1860 blkptr_t *gbp = &gn->gn_gbh->zg_blkptr[g];
1863 zio_gang_tree_assemble(gio, gbp, &gn->gn_child[g]);
1868 zio_gang_tree_issue(zio_t *pio, zio_gang_node_t *gn, blkptr_t *bp, void *data)
1873 ASSERT(BP_IS_GANG(bp) == !!gn);
1875 ASSERT(BP_GET_LSIZE(bp) == BP_GET_PSIZE(bp) || gn == gio->io_gang_tree);
1878 * If you're a gang header, your data is in gn->gn_gbh.
1879 * If you're a gang member, your data is in 'data' and gn == NULL.
1881 zio = zio_gang_issue_func[gio->io_type](pio, bp, gn, data);
1883 if (gn != NULL) {
1884 ASSERT(gn->gn_gbh->zg_tail.zec_magic == ZEC_MAGIC);
1887 blkptr_t *gbp = &gn->gn_gbh->zg_blkptr[g];
1890 zio_gang_tree_issue(zio, gn->gn_child[g], gbp, data);
1895 if (gn == gio->io_gang_tree)
1976 zio_gang_node_t *gn, **gnpp;
2001 gn = zio_gang_node_alloc(gnpp);
2002 gbh = gn->gn_gbh;
2030 zio_write_gang_member_ready, NULL, NULL, &gn->gn_child[g],
2558 zio_dva_unallocate(zio_t *zio, zio_gang_node_t *gn, blkptr_t *bp)
2566 if (gn != NULL) {
2568 zio_dva_unallocate(zio, gn->gn_child[g],
2569 &gn->gn_gbh->zg_blkptr[g]);