Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:Update
device-mapper
bug-1150021_08-bcache-pass-up-the-error-from-io...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bug-1150021_08-bcache-pass-up-the-error-from-io_submit-rather-than.patch of Package device-mapper
From 6370c20d392fb6228273695cd9f1a2ae43ff1e77 Mon Sep 17 00:00:00 2001 From: Joe Thornber <ejt@redhat.com> Date: Tue, 29 Oct 2019 10:39:20 +0000 Subject: [PATCH 6/9] [bcache] pass up the error from io_submit rather than using generic -EIO Author: Heming Zhao --- lib/device/bcache.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/device/bcache.c b/lib/device/bcache.c index 72cc599..56e3db3 100644 --- a/lib/device/bcache.c +++ b/lib/device/bcache.c @@ -246,6 +246,10 @@ 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; } @@ -784,8 +788,7 @@ 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)) { - /* FIXME: if io_submit() set an errno, return that instead of EIO? */ - _complete_io(b, -EIO); + _complete_io(b, b->error); return; } } -- 1.8.3.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor