|
@@ -849,9 +849,10 @@ static int pblk_line_submit_smeta_io(struct pblk *pblk, struct pblk_line *line,
|
|
|
atomic_dec(&pblk->inflight_io);
|
|
|
|
|
|
if (rqd.error) {
|
|
|
- if (dir == PBLK_WRITE)
|
|
|
+ if (dir == PBLK_WRITE) {
|
|
|
pblk_log_write_err(pblk, &rqd);
|
|
|
- else if (dir == PBLK_READ)
|
|
|
+ ret = 1;
|
|
|
+ } else if (dir == PBLK_READ)
|
|
|
pblk_log_read_err(pblk, &rqd);
|
|
|
}
|
|
|
|
|
@@ -1101,7 +1102,7 @@ static int pblk_line_init_bb(struct pblk *pblk, struct pblk_line *line,
|
|
|
|
|
|
if (init && pblk_line_submit_smeta_io(pblk, line, off, PBLK_WRITE)) {
|
|
|
pr_debug("pblk: line smeta I/O failed. Retry\n");
|
|
|
- return 1;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
bitmap_copy(line->invalid_bitmap, line->map_bitmap, lm->sec_per_line);
|