diff options
Diffstat (limited to 'util/nvmutil/nvmutil.c')
| -rw-r--r-- | util/nvmutil/nvmutil.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index e9046dc6..e162a56e 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -1578,6 +1578,9 @@ check_written_part(size_t p) else if (memcmp(mem_offset, pad, gbe_rw_size) != 0) rw_check_bad_part[p] = io_err_gbe = 1; + if (rw_check_err_read[p]) + return; + /* * We only load one part on-file, into memory but * always at offset zero, for post-write checks. @@ -1614,10 +1617,14 @@ report_io_err_rw(void) "%s: pwrite: corrupt write on p%lu\n", fname, (ulong)p); - /* - * so that we can re-use main checksumming features - * correct part to read always part 0 - */ + if (rw_check_err_read[p]) { + fprintf(stderr, + "%s: p%lu: skipped checksum verification " + "(because read failed)\n", + fname, (ulong)p); + + continue; + } fprintf(stderr, "%s: ", fname); |
