Lines Matching refs:drro

373 	struct drr_object *drro = &(dsp->dsa_drr->drr_u.drr_object);
388 drro->drr_object = object;
389 drro->drr_type = dnp->dn_type;
390 drro->drr_bonustype = dnp->dn_bonustype;
391 drro->drr_blksz = dnp->dn_datablkszsec << SPA_MINBLOCKSHIFT;
392 drro->drr_bonuslen = dnp->dn_bonuslen;
393 drro->drr_checksumtype = dnp->dn_checksum;
394 drro->drr_compress = dnp->dn_compress;
395 drro->drr_toguid = dsp->dsa_toguid;
398 drro->drr_blksz > SPA_OLD_MAXBLOCKSIZE)
399 drro->drr_blksz = SPA_OLD_MAXBLOCKSIZE;
1459 restore_object(struct restorearg *ra, objset_t *os, struct drr_object *drro)
1467 if (drro->drr_type == DMU_OT_NONE ||
1468 !DMU_OT_IS_VALID(drro->drr_type) ||
1469 !DMU_OT_IS_VALID(drro->drr_bonustype) ||
1470 drro->drr_checksumtype >= ZIO_CHECKSUM_FUNCTIONS ||
1471 drro->drr_compress >= ZIO_COMPRESS_FUNCTIONS ||
1472 P2PHASE(drro->drr_blksz, SPA_MINBLOCKSIZE) ||
1473 drro->drr_blksz < SPA_MINBLOCKSIZE ||
1474 drro->drr_blksz > spa_maxblocksize(dmu_objset_spa(os)) ||
1475 drro->drr_bonuslen > DN_MAX_BONUSLEN) {
1479 err = dmu_object_info(os, drro->drr_object, &doi);
1483 object = err == 0 ? drro->drr_object : DMU_NEW_OBJECT;
1485 if (drro->drr_bonuslen) {
1486 data = restore_read(ra, P2ROUNDUP(drro->drr_bonuslen, 8), NULL);
1499 nblkptr = deduce_nblkptr(drro->drr_bonustype,
1500 drro->drr_bonuslen);
1502 if (drro->drr_blksz != doi.doi_data_block_size ||
1504 err = dmu_free_long_range(os, drro->drr_object,
1521 err = dmu_object_claim(os, drro->drr_object,
1522 drro->drr_type, drro->drr_blksz,
1523 drro->drr_bonustype, drro->drr_bonuslen, tx);
1524 } else if (drro->drr_type != doi.doi_type ||
1525 drro->drr_blksz != doi.doi_data_block_size ||
1526 drro->drr_bonustype != doi.doi_bonus_type ||
1527 drro->drr_bonuslen != doi.doi_bonus_size) {
1529 err = dmu_object_reclaim(os, drro->drr_object,
1530 drro->drr_type, drro->drr_blksz,
1531 drro->drr_bonustype, drro->drr_bonuslen, tx);
1538 dmu_object_set_checksum(os, drro->drr_object, drro->drr_checksumtype,
1540 dmu_object_set_compress(os, drro->drr_object, drro->drr_compress, tx);
1545 VERIFY(0 == dmu_bonus_hold(os, drro->drr_object, FTAG, &db));
1548 ASSERT3U(db->db_size, >=, drro->drr_bonuslen);
1549 bcopy(data, db->db_data, drro->drr_bonuslen);
1552 DMU_OT_BYTESWAP(drro->drr_bonustype);
1554 drro->drr_bonuslen);
1909 struct drr_object drro = drr->drr_u.drr_object;
1910 ra.err = restore_object(&ra, os, &drro);