]> git.proxmox.com Git - mirror_zfs.git/commitdiff
OpenZFS 6879 - Incorrect endianness swap
authorDenys Rtveliashvili <denys@rtveliashvili.name>
Mon, 9 May 2016 18:22:00 +0000 (19:22 +0100)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 9 May 2016 18:22:00 +0000 (11:22 -0700)
Authored by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Ported-by: Denys Rtveliashvili <denys@rtveliashvili.name>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Incorrect endianness swap for drr_spill.drr_length in libzfs_sendrecv.c
Instead of drr_write.drr_length, we should be assigning the result of
the byteswap to drr_spill.drr_length.

OpenZFS-issue: https ://www.illumos.org/issues/6879
OpenZFS-commit: https ://github.com/openzfs/openzfs/commit/74c8720
Closes #4613

lib/libzfs/libzfs_sendrecv.c

index 92a55f77cf191cad6de55eba2d7eb27b272c6d0a..46640f62324388b43112c8072773d23de9a0cba1 100644 (file)
@@ -2619,7 +2619,7 @@ recv_skip(libzfs_handle_t *hdl, int fd, boolean_t byteswap)
                        break;
                case DRR_SPILL:
                        if (byteswap) {
-                               drr->drr_u.drr_write.drr_length =
+                               drr->drr_u.drr_spill.drr_length =
                                    BSWAP_64(drr->drr_u.drr_spill.drr_length);
                        }
                        (void) recv_read(hdl, fd, buf,