return (B_TRUE);
}
-/*
- * Return B_TRUE and modifies *out to the span if the span is less than 2^64,
- * returns B_FALSE otherwise.
- */
-static inline boolean_t
-bp_span(uint32_t datablksz, uint8_t indblkshift, uint64_t level, uint64_t *out)
-{
- uint64_t spanb = bp_span_in_blocks(indblkshift, level);
- return (overflow_multiply(spanb, datablksz, out));
-}
-
struct send_thread_arg {
bqueue_t q;
dsl_dataset_t *ds; /* Dataset to traverse */
}
static int
-dump_write(dmu_send_cookie_t *dscp, dmu_object_type_t type, uint64_t object,
+dmu_dump_write(dmu_send_cookie_t *dscp, dmu_object_type_t type, uint64_t object,
uint64_t offset, int lsize, int psize, const blkptr_t *bp, void *data)
{
uint64_t payload_size;
while (srdp->datablksz > 0 && err == 0) {
int n = MIN(srdp->datablksz,
SPA_OLD_MAXBLOCKSIZE);
- err = dump_write(dscp, srdp->obj_type,
+ err = dmu_dump_write(dscp, srdp->obj_type,
range->object, offset, n, n, NULL, buf);
offset += n;
buf += n;
} else {
psize = BP_GET_PSIZE(bp);
}
- err = dump_write(dscp, srdp->obj_type, range->object,
- offset, srdp->datablksz, psize, bp,
+ err = dmu_dump_write(dscp, srdp->obj_type,
+ range->object, offset, srdp->datablksz, psize, bp,
(abuf == NULL ? NULL : abuf->b_data));
}
if (abuf != NULL)
return (err);
}
-struct send_range *
+static struct send_range *
range_alloc(enum type type, uint64_t object, uint64_t start_blkid,
uint64_t end_blkid, boolean_t eos)
{