diff --git a/lib/device/bcache.c b/lib/device/bcache.c index 1249d6ef7..b0edf2806 100644 --- a/lib/device/bcache.c +++ b/lib/device/bcache.c @@ -293,10 +293,6 @@ static bool _async_issue(struct io_engine *ioe, enum dir d, int fd, if (r < 0) { _cb_free(e->cbs, cb); - ((struct block *) context)->error = r; - log_warn("io_submit <%c> off %llu bytes %llu return %d:%s", - (d == DIR_READ) ? 'R' : 'W', (long long unsigned)offset, - (long long unsigned) nbytes, r, strerror(-r)); return false; } @@ -873,7 +869,8 @@ static void _issue_low_level(struct block *b, enum dir d) dm_list_move(&cache->io_pending, &b->list); if (!cache->engine->issue(cache->engine, d, b->fd, sb, se, b->data, b)) { - _complete_io(b, b->error); + /* FIXME: if io_submit() set an errno, return that instead of EIO? */ + _complete_io(b, -EIO); return; } }