diff options
author | Philipp Riederer <pt@philipptoelke.de> | 2021-12-20 18:50:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-20 18:50:46 +0000 |
commit | 8623bd962da29716bab6bc0f0a4ef219d3151dd8 (patch) | |
tree | 806273a59a6c86fa796da960507a038f8f575b37 /lib | |
parent | 3fa5266d727a0e9506dfeed0118cbe7dd3c2a18d (diff) | |
download | src-8623bd962da29716bab6bc0f0a4ef219d3151dd8.tar.gz src-8623bd962da29716bab6bc0f0a4ef219d3151dd8.zip |
Fix error propagation from lzc_send_redacted
Any error from lzc_send_redacted is overwritten by the error of
send_conclusion_record; skip writing the conclusion record if there
was an earlier error.
Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Philipp Riederer <philipp@riederer.email>
Closes #12766
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libzfs/libzfs_sendrecv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libzfs/libzfs_sendrecv.c b/lib/libzfs/libzfs_sendrecv.c index 098c7777ce65..9143ea11e5d4 100644 --- a/lib/libzfs/libzfs_sendrecv.c +++ b/lib/libzfs/libzfs_sendrecv.c @@ -2542,7 +2542,7 @@ zfs_send_one(zfs_handle_t *zhp, const char *from, int fd, sendflags_t *flags, "progress thread exited nonzero"))); } - if (flags->props || flags->holds || flags->backup) { + if (err == 0 && (flags->props || flags->holds || flags->backup)) { /* Write the final end record. */ err = send_conclusion_record(fd, NULL); if (err != 0) |