summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-05-01 20:35:39 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2015-05-01 20:35:39 -0700
commit6fa72720a6b6eced0220031a1e5598e3a2c533ae (patch)
tree8ef98b71774920f9cfce862b4fceb5cae3a87676
parent64887b6882de36069c18ef2d9623484d6db7cd3a (diff)
parent082a75dad84d79d1c15ea9e50f31cb4bb4fa7fd6 (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.c5
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)
result, xferred);
if (!img_request->result)
img_request->result = result;
+ /*
+ * Need to end I/O on the entire obj_request worth of
+ * bytes in case of error.
+ */
+ xferred = obj_request->length;
}
/* Image object requests don't own their page array */