Lines Matching refs:rrd

872 	struct receive_record_arg *rrd;  member
1909 if (ra->rrd != NULL) { in receive_read_payload_and_next_header()
1910 ra->rrd->payload = buf; in receive_read_payload_and_next_header()
1911 ra->rrd->payload_size = len; in receive_read_payload_and_next_header()
1912 ra->rrd->bytes_read = ra->bytes_read; in receive_read_payload_and_next_header()
2060 switch (ra->rrd->header.drr_type) { in receive_read_record()
2063 struct drr_object *drro = &ra->rrd->header.drr_u.drr_object; in receive_read_record()
2095 struct drr_write *drrw = &ra->rrd->header.drr_u.drr_write; in receive_read_record()
2129 ra->rrd->arc_buf = abuf; in receive_read_record()
2137 &ra->rrd->header.drr_u.drr_write_byref; in receive_read_record()
2146 &ra->rrd->header.drr_u.drr_write_embedded; in receive_read_record()
2171 struct drr_end *drre = &ra->rrd->header.drr_u.drr_end; in receive_read_record()
2178 struct drr_spill *drrs = &ra->rrd->header.drr_u.drr_spill; in receive_read_record()
2205 ra->rrd->arc_buf = abuf; in receive_read_record()
2223 struct receive_record_arg *rrd) in receive_process_record() argument
2228 ASSERT3U(rrd->bytes_read, >=, rwa->bytes_read); in receive_process_record()
2229 rwa->bytes_read = rrd->bytes_read; in receive_process_record()
2231 switch (rrd->header.drr_type) { in receive_process_record()
2234 struct drr_object *drro = &rrd->header.drr_u.drr_object; in receive_process_record()
2235 err = receive_object(rwa, drro, rrd->payload); in receive_process_record()
2236 kmem_free(rrd->payload, rrd->payload_size); in receive_process_record()
2237 rrd->payload = NULL; in receive_process_record()
2243 &rrd->header.drr_u.drr_freeobjects; in receive_process_record()
2248 struct drr_write *drrw = &rrd->header.drr_u.drr_write; in receive_process_record()
2249 err = receive_write(rwa, drrw, rrd->arc_buf); in receive_process_record()
2252 dmu_return_arcbuf(rrd->arc_buf); in receive_process_record()
2253 rrd->arc_buf = NULL; in receive_process_record()
2254 rrd->payload = NULL; in receive_process_record()
2260 &rrd->header.drr_u.drr_write_byref; in receive_process_record()
2266 &rrd->header.drr_u.drr_write_embedded; in receive_process_record()
2267 err = receive_write_embedded(rwa, drrwe, rrd->payload); in receive_process_record()
2268 kmem_free(rrd->payload, rrd->payload_size); in receive_process_record()
2269 rrd->payload = NULL; in receive_process_record()
2274 struct drr_free *drrf = &rrd->header.drr_u.drr_free; in receive_process_record()
2279 struct drr_spill *drrs = &rrd->header.drr_u.drr_spill; in receive_process_record()
2280 err = receive_spill(rwa, drrs, rrd->arc_buf); in receive_process_record()
2283 dmu_return_arcbuf(rrd->arc_buf); in receive_process_record()
2284 rrd->arc_buf = NULL; in receive_process_record()
2285 rrd->payload = NULL; in receive_process_record()
2291 &rrd->header.drr_u.drr_object_range; in receive_process_record()
2307 struct receive_record_arg *rrd; in receive_writer_thread() local
2308 for (rrd = bqueue_dequeue(&rwa->q); !rrd->eos_marker; in receive_writer_thread()
2309 rrd = bqueue_dequeue(&rwa->q)) { in receive_writer_thread()
2316 rwa->err = receive_process_record(rwa, rrd); in receive_writer_thread()
2317 } else if (rrd->arc_buf != NULL) { in receive_writer_thread()
2318 dmu_return_arcbuf(rrd->arc_buf); in receive_writer_thread()
2319 rrd->arc_buf = NULL; in receive_writer_thread()
2320 rrd->payload = NULL; in receive_writer_thread()
2321 } else if (rrd->payload != NULL) { in receive_writer_thread()
2322 kmem_free(rrd->payload, rrd->payload_size); in receive_writer_thread()
2323 rrd->payload = NULL; in receive_writer_thread()
2325 kmem_free(rrd, sizeof (*rrd)); in receive_writer_thread()
2327 kmem_free(rrd, sizeof (*rrd)); in receive_writer_thread()
2541 ASSERT3P(ra.rrd, ==, NULL); in dmu_recv_stream()
2542 ra.rrd = ra.next_rrd; in dmu_recv_stream()
2547 if (ra.rrd->header.drr_type == DRR_END || err != 0) { in dmu_recv_stream()
2548 kmem_free(ra.rrd, sizeof (*ra.rrd)); in dmu_recv_stream()
2549 ra.rrd = NULL; in dmu_recv_stream()
2553 bqueue_enqueue(&rwa.q, ra.rrd, in dmu_recv_stream()
2554 sizeof (struct receive_record_arg) + ra.rrd->payload_size); in dmu_recv_stream()
2555 ra.rrd = NULL; in dmu_recv_stream()
2557 ASSERT3P(ra.rrd, ==, NULL); in dmu_recv_stream()
2558 ra.rrd = kmem_zalloc(sizeof (*ra.rrd), KM_SLEEP); in dmu_recv_stream()
2559 ra.rrd->eos_marker = B_TRUE; in dmu_recv_stream()
2560 bqueue_enqueue(&rwa.q, ra.rrd, 1); in dmu_recv_stream()