diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-02 06:35:39 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-02 06:35:39 +0300 |
commit | 6fa72720a6b6eced0220031a1e5598e3a2c533ae (patch) | |
tree | 8ef98b71774920f9cfce862b4fceb5cae3a87676 /drivers | |
parent | 64887b6882de36069c18ef2d9623484d6db7cd3a (diff) | |
parent | 082a75dad84d79d1c15ea9e50f31cb4bb4fa7fd6 (diff) | |
download | linux-6fa72720a6b6eced0220031a1e5598e3a2c533ae.tar.xz |
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
Diffstat (limited to 'drivers')
-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) 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 */ |