return (EIO);
for (i = 0; i < SPA_GBH_NBLKPTRS; i++) {
if (zio_read(spa, &zio_gb.zg_blkptr[i], buf))
blkptr_t *gbp = &zio_gb.zg_blkptr[i];
if (BP_IS_HOLE(gbp))
continue;
if (zio_read(spa, gbp, buf))
buf = (char*)buf + BP_GET_PSIZE(gbp);
}
return (0);