Lines Matching defs:drrw
1405 do_corrective_recv(struct receive_writer_arg *rwa, struct drr_write *drrw,
1420 err = dnode_hold(rwa->os, drrw->drr_object, FTAG, &dn);
1423 SET_BOOKMARK(&zb, dmu_objset_id(rwa->os), drrw->drr_object, 0,
1424 dbuf_whichblock(dn, 0, drrw->drr_offset));
1427 if (!rwa->raw && DRR_WRITE_COMPRESSED(drrw)) {
1430 drrw->drr_logical_size, B_FALSE);
1431 err = zio_decompress_data(drrw->drr_compressiontype,
1544 cb_data->size = drrw->drr_logical_size;
1548 abd_alloc_for_io(drrw->drr_logical_size, B_FALSE),
1549 drrw->drr_logical_size, corrective_read_done,
2239 struct drr_write *drrw = &rrd->header.drr_u.drr_write;
2242 ASSERT3U(drrw->drr_object, ==, rwa->last_object);
2244 if (drrw->drr_logical_size != dn->dn_datablksz) {
2253 ASSERT3U(drrw->drr_logical_size, >, dn->dn_datablksz);
2254 if (DRR_WRITE_COMPRESSED(drrw)) {
2256 abd_alloc_linear(drrw->drr_logical_size,
2260 drrw->drr_compressiontype,
2267 drrw->drr_offset,
2268 drrw->drr_logical_size,
2274 drrw->drr_offset,
2275 drrw->drr_logical_size,
2288 zp.zp_compress = drrw->drr_compressiontype;
2290 !!DRR_IS_RAW_BYTESWAPPED(drrw->drr_flags) ^
2292 memcpy(zp.zp_salt, drrw->drr_salt,
2294 memcpy(zp.zp_iv, drrw->drr_iv,
2296 memcpy(zp.zp_mac, drrw->drr_mac,
2304 } else if (DRR_WRITE_COMPRESSED(drrw)) {
2305 ASSERT3U(drrw->drr_compressed_size, >, 0);
2306 ASSERT3U(drrw->drr_logical_size, >=,
2307 drrw->drr_compressed_size);
2308 zp.zp_compress = drrw->drr_compressiontype;
2321 DMU_OT_BYTESWAP(drrw->drr_type);
2324 DRR_WRITE_PAYLOAD_SIZE(drrw));
2333 drrw->drr_offset, abd, &zp, zio_flags, tx);
2350 save_resume_state(rwa, drrw->drr_object, drrw->drr_offset, tx);
2387 struct drr_write *drrw = &rrd->header.drr_u.drr_write;
2389 if (drrw->drr_offset + drrw->drr_logical_size < drrw->drr_offset ||
2390 !DMU_OT_IS_VALID(drrw->drr_type))
2403 DMU_OT_BYTESWAP(drrw->drr_type);
2405 DRR_WRITE_PAYLOAD_SIZE(drrw));
2408 err = dmu_buf_hold_noread(rwa->os, drrw->drr_object,
2409 drrw->drr_offset, FTAG, &dbp);
2428 if (drrw->drr_logical_size != dbp->db_size) {
2435 err = do_corrective_recv(rwa, drrw, rrd, bp);
2444 if (drrw->drr_object < rwa->last_object ||
2445 (drrw->drr_object == rwa->last_object &&
2446 drrw->drr_offset < rwa->last_offset)) {
2455 (drrw->drr_object != first_drrw->drr_object ||
2456 drrw->drr_offset >= first_drrw->drr_offset + batch_size)) {
2462 rwa->last_object = drrw->drr_object;
2463 rwa->last_offset = drrw->drr_offset;
2899 struct drr_write *drrw = &drc->drc_rrd->header.drr_u.drr_write;
2900 int size = DRR_WRITE_PAYLOAD_SIZE(drrw);
2909 receive_read_prefetch(drc, drrw->drr_object, drrw->drr_offset,
2910 drrw->drr_logical_size);
3003 struct drr_write *drrw = &rrd->header.drr_u.drr_write;
3007 (u_longlong_t)drrw->drr_object, drrw->drr_type,
3008 (u_longlong_t)drrw->drr_offset,
3009 (u_longlong_t)drrw->drr_logical_size,
3010 drrw->drr_checksumtype, drrw->drr_flags,
3011 drrw->drr_compressiontype,
3012 (u_longlong_t)drrw->drr_compressed_size, err);