• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/contrib/openzfs/module/zfs/

Lines Matching refs:drro

1355     const struct drr_object *drro, const dmu_object_info_t *doi,
1359 uint32_t indblksz = drro->drr_indblkshift ?
1360 1ULL << drro->drr_indblkshift : 0;
1361 int nblkptr = deduce_nblkptr(drro->drr_bonustype,
1362 drro->drr_bonuslen);
1363 uint8_t dn_slots = drro->drr_dn_slots != 0 ?
1364 drro->drr_dn_slots : DNODE_MIN_SLOTS;
1368 *object_to_hold = drro->drr_object;
1371 if (rwa->raw && nblkptr != drro->drr_nblkptr)
1408 if (drro->drr_blksz != doi->doi_data_block_size) {
1430 } else if (drro->drr_type !=
1460 drro->drr_object, doi->doi_bonus_type,
1461 drro->drr_bonustype, bonus_data, &is_same_gen);
1474 if (drro->drr_blksz <=
1507 if (drro->drr_nlevels < doi->doi_indirection)
1512 err = dmu_free_long_range(rwa->os, drro->drr_object,
1529 if ((rwa->raw && drro->drr_nlevels < doi->doi_indirection) ||
1531 err = dmu_free_long_object(rwa->os, drro->drr_object);
1553 err = dmu_free_long_range(rwa->os, drro->drr_object,
1554 (drro->drr_maxblkid + 1) * doi->doi_data_block_size,
1563 receive_object(struct receive_writer_arg *rwa, struct drr_object *drro,
1569 uint32_t new_blksz = drro->drr_blksz;
1570 uint8_t dn_slots = drro->drr_dn_slots != 0 ?
1571 drro->drr_dn_slots : DNODE_MIN_SLOTS;
1573 if (drro->drr_type == DMU_OT_NONE ||
1574 !DMU_OT_IS_VALID(drro->drr_type) ||
1575 !DMU_OT_IS_VALID(drro->drr_bonustype) ||
1576 drro->drr_checksumtype >= ZIO_CHECKSUM_FUNCTIONS ||
1577 drro->drr_compress >= ZIO_COMPRESS_FUNCTIONS ||
1578 P2PHASE(drro->drr_blksz, SPA_MINBLOCKSIZE) ||
1579 drro->drr_blksz < SPA_MINBLOCKSIZE ||
1580 drro->drr_blksz > spa_maxblocksize(dmu_objset_spa(rwa->os)) ||
1581 drro->drr_bonuslen >
1593 if (drro->drr_object < rwa->or_firstobj ||
1594 drro->drr_object >= rwa->or_firstobj + rwa->or_numslots ||
1595 drro->drr_raw_bonuslen < drro->drr_bonuslen ||
1596 drro->drr_indblkshift > SPA_MAXBLOCKSHIFT ||
1597 drro->drr_nlevels > DN_MAX_LEVELS ||
1598 drro->drr_nblkptr > DN_MAX_NBLKPTR ||
1600 drro->drr_raw_bonuslen)
1607 if (((drro->drr_flags & ~(DRR_OBJECT_SPILL))) ||
1608 (!rwa->spill && DRR_OBJECT_HAS_SPILL(drro->drr_flags))) {
1612 if (drro->drr_raw_bonuslen != 0 || drro->drr_nblkptr != 0 ||
1613 drro->drr_indblkshift != 0 || drro->drr_nlevels != 0) {
1618 err = dmu_object_info(rwa->os, drro->drr_object, &doi);
1623 if (drro->drr_object > rwa->max_object)
1624 rwa->max_object = drro->drr_object;
1635 err = receive_handle_existing_object(rwa, drro, &doi, data,
1647 if (dmu_object_info(rwa->os, drro->drr_object, NULL) != ENOENT)
1666 for (uint64_t slot = drro->drr_object + 1;
1667 slot < drro->drr_object + dn_slots;
1699 err = dmu_object_claim_dnsize(rwa->os, drro->drr_object,
1700 drro->drr_type, new_blksz,
1701 drro->drr_bonustype, drro->drr_bonuslen,
1703 } else if (drro->drr_type != doi.doi_type ||
1705 drro->drr_bonustype != doi.doi_bonus_type ||
1706 drro->drr_bonuslen != doi.doi_bonus_size) {
1708 err = dmu_object_reclaim_dnsize(rwa->os, drro->drr_object,
1709 drro->drr_type, new_blksz,
1710 drro->drr_bonustype, drro->drr_bonuslen,
1712 DRR_OBJECT_HAS_SPILL(drro->drr_flags) : B_FALSE, tx);
1713 } else if (rwa->spill && !DRR_OBJECT_HAS_SPILL(drro->drr_flags)) {
1719 err = dmu_object_rm_spill(rwa->os, drro->drr_object, tx);
1761 dmu_object_set_checksum(rwa->os, drro->drr_object,
1762 drro->drr_checksumtype, tx);
1763 dmu_object_set_compress(rwa->os, drro->drr_object,
1764 drro->drr_compress, tx);
1775 ASSERT3U(new_blksz, ==, drro->drr_blksz);
1776 VERIFY0(dmu_object_set_blocksize(rwa->os, drro->drr_object,
1777 drro->drr_blksz, drro->drr_indblkshift, tx));
1778 VERIFY0(dmu_object_set_nlevels(rwa->os, drro->drr_object,
1779 drro->drr_nlevels, tx));
1785 VERIFY0(dmu_object_set_maxblkid(rwa->os, drro->drr_object,
1786 drro->drr_maxblkid, tx));
1797 VERIFY0(dnode_hold(rwa->os, drro->drr_object, FTAG, &dn));
1802 ASSERT3U(db->db_size, >=, drro->drr_bonuslen);
1803 bcopy(data, db->db_data, DRR_OBJECT_PAYLOAD_SIZE(drro));
1811 DMU_OT_BYTESWAP(drro->drr_bonustype);
1813 DRR_OBJECT_PAYLOAD_SIZE(drro));
2471 struct drr_object *drro =
2473 uint32_t size = DRR_OBJECT_PAYLOAD_SIZE(drro);
2485 err = dmu_object_info(drc->drc_os, drro->drr_object, &doi);
2491 (err == 0 && doi.doi_data_block_size != drro->drr_blksz)) {
2493 drro->drr_object);
2587 struct drr_object *drro = &rrd->header.drr_u.drr_object;
2591 drro->drr_object, drro->drr_type, drro->drr_bonustype,
2592 drro->drr_blksz, drro->drr_bonuslen,
2593 drro->drr_checksumtype, drro->drr_compress,
2594 drro->drr_dn_slots, err);
2709 struct drr_object *drro = &rrd->header.drr_u.drr_object;
2710 err = receive_object(rwa, drro, rrd->payload);