diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-01 23:35:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-01 23:35:39 -0400 |
commit | 6fa72720a6b6eced0220031a1e5598e3a2c533ae (patch) | |
tree | 8ef98b71774920f9cfce862b4fceb5cae3a87676 | |
parent | 64887b6882de36069c18ef2d9623484d6db7cd3a (diff) | |
parent | 082a75dad84d79d1c15ea9e50f31cb4bb4fa7fd6 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull Ceph RBD fix from Sage Weil.
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
rbd: end I/O the entire obj_request on error
-rw-r--r-- | drivers/block/rbd.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 812523330a78..ec6c5c6e1ac9 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c | |||
@@ -2264,6 +2264,11 @@ static bool rbd_img_obj_end_request(struct rbd_obj_request *obj_request) | |||
2264 | result, xferred); | 2264 | result, xferred); |
2265 | if (!img_request->result) | 2265 | if (!img_request->result) |
2266 | img_request->result = result; | 2266 | img_request->result = result; |
2267 | /* | ||
2268 | * Need to end I/O on the entire obj_request worth of | ||
2269 | * bytes in case of error. | ||
2270 | */ | ||
2271 | xferred = obj_request->length; | ||
2267 | } | 2272 | } |
2268 | 2273 | ||
2269 | /* Image object requests don't own their page array */ | 2274 | /* Image object requests don't own their page array */ |