aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPhilipp Riederer <pt@philipptoelke.de>2021-12-20 18:50:46 +0000
committerGitHub <noreply@github.com>2021-12-20 18:50:46 +0000
commit8623bd962da29716bab6bc0f0a4ef219d3151dd8 (patch)
tree806273a59a6c86fa796da960507a038f8f575b37 /lib
parent3fa5266d727a0e9506dfeed0118cbe7dd3c2a18d (diff)
downloadsrc-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.c2
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)