Lines Matching refs:drro

1685     const struct drr_object *drro, const dmu_object_info_t *doi,  in receive_handle_existing_object()  argument
1689 uint32_t indblksz = drro->drr_indblkshift ? in receive_handle_existing_object()
1690 1ULL << drro->drr_indblkshift : 0; in receive_handle_existing_object()
1691 int nblkptr = deduce_nblkptr(drro->drr_bonustype, in receive_handle_existing_object()
1692 drro->drr_bonuslen); in receive_handle_existing_object()
1693 uint8_t dn_slots = drro->drr_dn_slots != 0 ? in receive_handle_existing_object()
1694 drro->drr_dn_slots : DNODE_MIN_SLOTS; in receive_handle_existing_object()
1698 *object_to_hold = drro->drr_object; in receive_handle_existing_object()
1701 if (rwa->raw && nblkptr != drro->drr_nblkptr) in receive_handle_existing_object()
1738 if (drro->drr_blksz != doi->doi_data_block_size) { in receive_handle_existing_object()
1760 } else if (drro->drr_type != in receive_handle_existing_object()
1790 drro->drr_object, doi->doi_bonus_type, in receive_handle_existing_object()
1791 drro->drr_bonustype, bonus_data, &is_same_gen); in receive_handle_existing_object()
1804 if (drro->drr_blksz <= in receive_handle_existing_object()
1837 if (drro->drr_nlevels < doi->doi_indirection) in receive_handle_existing_object()
1842 err = dmu_free_long_range(rwa->os, drro->drr_object, in receive_handle_existing_object()
1861 drro->drr_nlevels < doi->doi_indirection)) || in receive_handle_existing_object()
1863 err = dmu_free_long_object(rwa->os, drro->drr_object); in receive_handle_existing_object()
1885 err = dmu_free_long_range(rwa->os, drro->drr_object, in receive_handle_existing_object()
1886 (drro->drr_maxblkid + 1) * doi->doi_data_block_size, in receive_handle_existing_object()
1895 receive_object(struct receive_writer_arg *rwa, struct drr_object *drro, in receive_object() argument
1901 uint32_t new_blksz = drro->drr_blksz; in receive_object()
1902 uint8_t dn_slots = drro->drr_dn_slots != 0 ? in receive_object()
1903 drro->drr_dn_slots : DNODE_MIN_SLOTS; in receive_object()
1905 if (drro->drr_type == DMU_OT_NONE || in receive_object()
1906 !DMU_OT_IS_VALID(drro->drr_type) || in receive_object()
1907 !DMU_OT_IS_VALID(drro->drr_bonustype) || in receive_object()
1908 drro->drr_checksumtype >= ZIO_CHECKSUM_FUNCTIONS || in receive_object()
1909 drro->drr_compress >= ZIO_COMPRESS_FUNCTIONS || in receive_object()
1910 P2PHASE(drro->drr_blksz, SPA_MINBLOCKSIZE) || in receive_object()
1911 drro->drr_blksz < SPA_MINBLOCKSIZE || in receive_object()
1912 drro->drr_blksz > spa_maxblocksize(dmu_objset_spa(rwa->os)) || in receive_object()
1913 drro->drr_bonuslen > in receive_object()
1925 if (drro->drr_object < rwa->or_firstobj || in receive_object()
1926 drro->drr_object >= rwa->or_firstobj + rwa->or_numslots || in receive_object()
1927 drro->drr_raw_bonuslen < drro->drr_bonuslen || in receive_object()
1928 drro->drr_indblkshift > SPA_MAXBLOCKSHIFT || in receive_object()
1929 drro->drr_nlevels > DN_MAX_LEVELS || in receive_object()
1930 drro->drr_nblkptr > DN_MAX_NBLKPTR || in receive_object()
1932 drro->drr_raw_bonuslen) in receive_object()
1939 if (((drro->drr_flags & ~(DRR_OBJECT_SPILL))) || in receive_object()
1940 (!rwa->spill && DRR_OBJECT_HAS_SPILL(drro->drr_flags))) { in receive_object()
1944 if (drro->drr_raw_bonuslen != 0 || drro->drr_nblkptr != 0 || in receive_object()
1945 drro->drr_indblkshift != 0 || drro->drr_nlevels != 0) { in receive_object()
1950 err = dmu_object_info(rwa->os, drro->drr_object, &doi); in receive_object()
1955 if (drro->drr_object > rwa->max_object) in receive_object()
1956 rwa->max_object = drro->drr_object; in receive_object()
1967 err = receive_handle_existing_object(rwa, drro, &doi, data, in receive_object()
1981 if (dmu_object_info(rwa->os, drro->drr_object, NULL) != ENOENT) in receive_object()
2012 for (uint64_t slot = drro->drr_object + 1; in receive_object()
2013 slot < drro->drr_object + dn_slots; in receive_object()
2045 err = dmu_object_claim_dnsize(rwa->os, drro->drr_object, in receive_object()
2046 drro->drr_type, new_blksz, in receive_object()
2047 drro->drr_bonustype, drro->drr_bonuslen, in receive_object()
2049 } else if (drro->drr_type != doi.doi_type || in receive_object()
2051 drro->drr_bonustype != doi.doi_bonus_type || in receive_object()
2052 drro->drr_bonuslen != doi.doi_bonus_size) { in receive_object()
2054 err = dmu_object_reclaim_dnsize(rwa->os, drro->drr_object, in receive_object()
2055 drro->drr_type, new_blksz, in receive_object()
2056 drro->drr_bonustype, drro->drr_bonuslen, in receive_object()
2058 DRR_OBJECT_HAS_SPILL(drro->drr_flags) : B_FALSE, tx); in receive_object()
2059 } else if (rwa->spill && !DRR_OBJECT_HAS_SPILL(drro->drr_flags)) { in receive_object()
2065 err = dmu_object_rm_spill(rwa->os, drro->drr_object, tx); in receive_object()
2107 dmu_object_set_checksum(rwa->os, drro->drr_object, in receive_object()
2108 drro->drr_checksumtype, tx); in receive_object()
2109 dmu_object_set_compress(rwa->os, drro->drr_object, in receive_object()
2110 drro->drr_compress, tx); in receive_object()
2121 ASSERT3U(new_blksz, ==, drro->drr_blksz); in receive_object()
2122 VERIFY0(dmu_object_set_blocksize(rwa->os, drro->drr_object, in receive_object()
2123 drro->drr_blksz, drro->drr_indblkshift, tx)); in receive_object()
2124 VERIFY0(dmu_object_set_nlevels(rwa->os, drro->drr_object, in receive_object()
2125 drro->drr_nlevels, tx)); in receive_object()
2131 VERIFY0(dmu_object_set_maxblkid(rwa->os, drro->drr_object, in receive_object()
2132 drro->drr_maxblkid, tx)); in receive_object()
2143 VERIFY0(dnode_hold(rwa->os, drro->drr_object, FTAG, &dn)); in receive_object()
2148 ASSERT3U(db->db_size, >=, drro->drr_bonuslen); in receive_object()
2149 memcpy(db->db_data, data, DRR_OBJECT_PAYLOAD_SIZE(drro)); in receive_object()
2157 DMU_OT_BYTESWAP(drro->drr_bonustype); in receive_object()
2159 DRR_OBJECT_PAYLOAD_SIZE(drro)); in receive_object()
2172 save_resume_state(rwa, drro->drr_object, 0, tx); in receive_object()
2884 struct drr_object *drro = in receive_read_record() local
2886 uint32_t size = DRR_OBJECT_PAYLOAD_SIZE(drro); in receive_read_record()
2898 err = dmu_object_info(drc->drc_os, drro->drr_object, &doi); in receive_read_record()
2904 (err == 0 && doi.doi_data_block_size != drro->drr_blksz)) { in receive_read_record()
2906 drro->drr_object); in receive_read_record()
3000 struct drr_object *drro = &rrd->header.drr_u.drr_object; in dprintf_drr() local
3004 (u_longlong_t)drro->drr_object, drro->drr_type, in dprintf_drr()
3005 drro->drr_bonustype, drro->drr_blksz, drro->drr_bonuslen, in dprintf_drr()
3006 drro->drr_checksumtype, drro->drr_compress, in dprintf_drr()
3007 drro->drr_dn_slots, err); in dprintf_drr()
3146 struct drr_object *drro = &rrd->header.drr_u.drr_object; in receive_process_record() local
3147 err = receive_object(rwa, drro, rrd->payload); in receive_process_record()