diff options
author | Tom Caputi <[email protected]> | 2018-04-17 14:19:03 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2018-04-17 11:19:03 -0700 |
commit | b0ee5946aaee396c9c90b07f27504c39f6dec0ef (patch) | |
tree | a42c82fa515d8c15a84cc77f6001c1fccec62c5b /tests | |
parent | e14a32b1c844d924b9f093375c0badcf10f61741 (diff) |
Fix issues with raw sends of spill blocks
This patch fixes 2 issues in how spill blocks are processed during
raw sends. The first problem is that compressed spill blocks were
using the logical length rather than the physical length to
determine how much data to dump into the send stream. The second
issue is a typo that caused the spill record's object number to be
used where the objset's ID number was required. Both issues have
been corrected, and the payload_size is now printed in zstreamdump
for future debugging.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Tom Caputi <[email protected]>
Closes #7378
Closes #7432
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh b/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh index 998c2afc3..5bf25e277 100755 --- a/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh +++ b/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh @@ -15,7 +15,7 @@ # # -# Copyright (c) 2017 by Datto Inc. All rights reserved. +# Copyright (c) 2018 by Datto Inc. All rights reserved. # . $STF_SUITE/tests/functional/rsend/rsend.kshlib @@ -33,8 +33,9 @@ # 6. Add a file truncated to 4M to the filesystem # 7. Add a sparse file with metadata compression disabled to the filesystem # 8. Add and remove 1000 empty files to the filesystem -# 9. Snapshot the filesystem -# 10. Send and receive the filesystem, ensuring that it can be mounted +# 9. Add a file with a large xattr value +# 10. Snapshot the filesystem +# 11. Send and receive the filesystem, ensuring that it can be mounted # verify_runnable "both" @@ -79,6 +80,11 @@ for i in {1..1000}; do done sync +# ZoL issue #7432 +log_must zfs set compression=on xattr=sa $TESTPOOL/$TESTFS2 +log_must touch /$TESTPOOL/$TESTFS2/attrs +log_must eval "python -c 'print \"a\" * 4096' | attr -s bigval /$TESTPOOL/$TESTFS2/attrs" + log_must zfs snapshot $TESTPOOL/$TESTFS2@now log_must eval "zfs send -wR $TESTPOOL/$TESTFS2@now > $sendfile" |