ZIO_DATA_MAC_LEN);
(void) printf("WRITE object = %llu type = %u "
- "checksum type = %u compression type = %u\n"
- " flags = %u offset = %llu "
+ "checksum type = %u compression type = %u "
+ "flags = %u offset = %llu "
"logical_size = %llu "
"compressed_size = %llu "
"payload_size = %llu props = %llx "
}
if (verbose) {
(void) printf("WRITE_BYREF object = %llu "
- "checksum type = %u props = %llx\n"
- " offset = %llu length = %llu\n"
- "toguid = %llx refguid = %llx\n"
- " refobject = %llu refoffset = %llu\n",
+ "checksum type = %u props = %llx "
+ "offset = %llu length = %llu "
+ "toguid = %llx refguid = %llx "
+ "refobject = %llu refoffset = %llu\n",
(u_longlong_t)drrwbr->drr_object,
drrwbr->drr_checksumtype,
(u_longlong_t)drrwbr->drr_key.ddk_prop,
}
if (verbose) {
(void) printf("WRITE_EMBEDDED object = %llu "
- "offset = %llu length = %llu\n"
- " toguid = %llx comp = %u etype = %u "
+ "offset = %llu length = %llu "
+ "toguid = %llx comp = %u etype = %u "
"lsize = %u psize = %u\n",
(u_longlong_t)drrwe->drr_object,
(u_longlong_t)drrwe->drr_offset,
return 0
}
-#
-# Parse zstreamdump -v output. The output varies for each kind of record:
-# BEGIN records are simply output as "BEGIN"
-# END records are output as "END"
-# OBJECT records become "OBJECT <object num>"
-# FREEOBJECTS records become "FREEOBJECTS <startobj> <numobjs>"
-# FREE records become "<record type> <start> <length>"
-# WRITE records become:
-# "<record type> <compression type> <start> <logical size> <compressed size>
-# <data size>"
-#
-function parse_dump
-{
- sed '/^WRITE/{N;s/\n/ /;}' | grep "^[A-Z]" | awk '{
- if ($1 == "BEGIN" || $1 == "END") print $1
- if ($1 == "OBJECT") print $1" "$4
- if ($1 == "FREEOBJECTS") print $1" "$4" "$7
- if ($1 == "FREE") print $1" "$7" "$10
- if ($1 == "WRITE") print $1" "$15" "$21" "$24" "$27" "$30}'
-}
-
#
# Given a send stream, verify that the size of the stream matches what's
# expected based on the source or target dataset. If the stream is an
log_must eval "zfs send -c $sendfs@full >$BACKDIR/full"
log_must stream_has_features $BACKDIR/full lz4 compressed
-cat $BACKDIR/full | zstreamdump -v | parse_dump > $BACKDIR/dump.out
+cat $BACKDIR/full | zstreamdump -v > $BACKDIR/dump.out
-lsize=$(awk '/^WRITE [^0]/ {lsize += $4} END {printf("%d", lsize)}' \
+lsize=$(awk '/^WRITE [^0]/ {lsize += $24} END {printf("%d", lsize)}' \
$BACKDIR/dump.out)
lsize_prop=$(get_prop logicalused $sendfs)
within_percent $lsize $lsize_prop 90 || log_fail \
"$lsize and $lsize_prop differed by too much"
-csize=$(awk '/^WRITE [^0]/ {csize += $5} END {printf("%d", csize)}' \
+csize=$(awk '/^WRITE [^0]/ {csize += $27} END {printf("%d", csize)}' \
$BACKDIR/dump.out)
csize_prop=$(get_prop used $sendfs)
within_percent $csize $csize_prop 90 || log_fail \