Skip to content

Commit 4ee2ccc

Browse files
maurizio-lombardiigaw
authored andcommitted
nvme: fix error path if write() fails in get_telemetry_log()
Print an error message and return the error code to the caller. Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
1 parent 9b9c119 commit 4ee2ccc

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

nvme.c

+4-1
Original file line numberDiff line numberDiff line change
@@ -913,7 +913,9 @@ static int get_telemetry_log(int argc, char **argv, struct command *cmd,
913913
while (data_remaining) {
914914
data_written = write(output, data_ptr, data_remaining);
915915
if (data_written < 0) {
916-
data_remaining = data_written;
916+
err = -errno;
917+
nvme_show_error("ERROR: %s: : write failed with error : %s",
918+
__func__, strerror(errno));
917919
break;
918920
} else if (data_written <= data_remaining) {
919921
data_remaining -= data_written;
@@ -922,6 +924,7 @@ static int get_telemetry_log(int argc, char **argv, struct command *cmd,
922924
/* Unexpected overwrite */
923925
fprintf(stderr, "Failure: Unexpected telemetry log overwrite - data_remaining = 0x%x, data_written = 0x%x\n",
924926
data_remaining, data_written);
927+
err = -1;
925928
break;
926929
}
927930
}

0 commit comments

Comments
 (0)