Lines Matching defs:drro

1674     const struct drr_object *drro, const dmu_object_info_t *doi,
1678 uint32_t indblksz = drro->drr_indblkshift ?
1679 1ULL << drro->drr_indblkshift : 0;
1680 int nblkptr = deduce_nblkptr(drro->drr_bonustype,
1681 drro->drr_bonuslen);
1682 uint8_t dn_slots = drro->drr_dn_slots != 0 ?
1683 drro->drr_dn_slots : DNODE_MIN_SLOTS;
1687 *object_to_hold = drro->drr_object;
1690 if (rwa->raw && nblkptr != drro->drr_nblkptr)
1727 if (drro->drr_blksz != doi->doi_data_block_size) {
1749 } else if (drro->drr_type !=
1779 drro->drr_object, doi->doi_bonus_type,
1780 drro->drr_bonustype, bonus_data, &is_same_gen);
1793 if (drro->drr_blksz <=
1826 if (drro->drr_nlevels < doi->doi_indirection)
1831 err = dmu_free_long_range(rwa->os, drro->drr_object,
1850 drro->drr_nlevels < doi->doi_indirection)) ||
1852 err = dmu_free_long_object(rwa->os, drro->drr_object);
1874 err = dmu_free_long_range(rwa->os, drro->drr_object,
1875 (drro->drr_maxblkid + 1) * doi->doi_data_block_size,
1884 receive_object(struct receive_writer_arg *rwa, struct drr_object *drro,
1890 uint32_t new_blksz = drro->drr_blksz;
1891 uint8_t dn_slots = drro->drr_dn_slots != 0 ?
1892 drro->drr_dn_slots : DNODE_MIN_SLOTS;
1894 if (drro->drr_type == DMU_OT_NONE ||
1895 !DMU_OT_IS_VALID(drro->drr_type) ||
1896 !DMU_OT_IS_VALID(drro->drr_bonustype) ||
1897 drro->drr_checksumtype >= ZIO_CHECKSUM_FUNCTIONS ||
1898 drro->drr_compress >= ZIO_COMPRESS_FUNCTIONS ||
1899 P2PHASE(drro->drr_blksz, SPA_MINBLOCKSIZE) ||
1900 drro->drr_blksz < SPA_MINBLOCKSIZE ||
1901 drro->drr_blksz > spa_maxblocksize(dmu_objset_spa(rwa->os)) ||
1902 drro->drr_bonuslen >
1914 if (drro->drr_object < rwa->or_firstobj ||
1915 drro->drr_object >= rwa->or_firstobj + rwa->or_numslots ||
1916 drro->drr_raw_bonuslen < drro->drr_bonuslen ||
1917 drro->drr_indblkshift > SPA_MAXBLOCKSHIFT ||
1918 drro->drr_nlevels > DN_MAX_LEVELS ||
1919 drro->drr_nblkptr > DN_MAX_NBLKPTR ||
1921 drro->drr_raw_bonuslen)
1928 if (((drro->drr_flags & ~(DRR_OBJECT_SPILL))) ||
1929 (!rwa->spill && DRR_OBJECT_HAS_SPILL(drro->drr_flags))) {
1933 if (drro->drr_raw_bonuslen != 0 || drro->drr_nblkptr != 0 ||
1934 drro->drr_indblkshift != 0 || drro->drr_nlevels != 0) {
1939 err = dmu_object_info(rwa->os, drro->drr_object, &doi);
1944 if (drro->drr_object > rwa->max_object)
1945 rwa->max_object = drro->drr_object;
1956 err = receive_handle_existing_object(rwa, drro, &doi, data,
1970 if (dmu_object_info(rwa->os, drro->drr_object, NULL) != ENOENT)
2001 for (uint64_t slot = drro->drr_object + 1;
2002 slot < drro->drr_object + dn_slots;
2034 err = dmu_object_claim_dnsize(rwa->os, drro->drr_object,
2035 drro->drr_type, new_blksz,
2036 drro->drr_bonustype, drro->drr_bonuslen,
2038 } else if (drro->drr_type != doi.doi_type ||
2040 drro->drr_bonustype != doi.doi_bonus_type ||
2041 drro->drr_bonuslen != doi.doi_bonus_size) {
2043 err = dmu_object_reclaim_dnsize(rwa->os, drro->drr_object,
2044 drro->drr_type, new_blksz,
2045 drro->drr_bonustype, drro->drr_bonuslen,
2047 DRR_OBJECT_HAS_SPILL(drro->drr_flags) : B_FALSE, tx);
2048 } else if (rwa->spill && !DRR_OBJECT_HAS_SPILL(drro->drr_flags)) {
2054 err = dmu_object_rm_spill(rwa->os, drro->drr_object, tx);
2096 dmu_object_set_checksum(rwa->os, drro->drr_object,
2097 drro->drr_checksumtype, tx);
2098 dmu_object_set_compress(rwa->os, drro->drr_object,
2099 drro->drr_compress, tx);
2110 ASSERT3U(new_blksz, ==, drro->drr_blksz);
2111 VERIFY0(dmu_object_set_blocksize(rwa->os, drro->drr_object,
2112 drro->drr_blksz, drro->drr_indblkshift, tx));
2113 VERIFY0(dmu_object_set_nlevels(rwa->os, drro->drr_object,
2114 drro->drr_nlevels, tx));
2120 VERIFY0(dmu_object_set_maxblkid(rwa->os, drro->drr_object,
2121 drro->drr_maxblkid, tx));
2132 VERIFY0(dnode_hold(rwa->os, drro->drr_object, FTAG, &dn));
2137 ASSERT3U(db->db_size, >=, drro->drr_bonuslen);
2138 memcpy(db->db_data, data, DRR_OBJECT_PAYLOAD_SIZE(drro));
2146 DMU_OT_BYTESWAP(drro->drr_bonustype);
2148 DRR_OBJECT_PAYLOAD_SIZE(drro));
2161 save_resume_state(rwa, drro->drr_object, 0, tx);
2865 struct drr_object *drro =
2867 uint32_t size = DRR_OBJECT_PAYLOAD_SIZE(drro);
2879 err = dmu_object_info(drc->drc_os, drro->drr_object, &doi);
2885 (err == 0 && doi.doi_data_block_size != drro->drr_blksz)) {
2887 drro->drr_object);
2981 struct drr_object *drro = &rrd->header.drr_u.drr_object;
2985 (u_longlong_t)drro->drr_object, drro->drr_type,
2986 drro->drr_bonustype, drro->drr_blksz, drro->drr_bonuslen,
2987 drro->drr_checksumtype, drro->drr_compress,
2988 drro->drr_dn_slots, err);
3127 struct drr_object *drro = &rrd->header.drr_u.drr_object;
3128 err = receive_object(rwa, drro, rrd->payload);