diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-06-29 13:31:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-06-29 13:31:15 -0400 |
commit | bd2931b5cff6a3bf39bfe15fae051fb8229c0029 (patch) | |
tree | 2d550ed8e2635067796c09faa9134887cab46e84 /drivers/block/rbd.c | |
parent | 63edbce160c6d68c806e58db026b5881c6010e04 (diff) | |
parent | d2d1f17a0dad823a4cb71583433d26cd7f734e08 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull Ceph fix from Sage Weil:
"This is a recently spotted regression in the snapshot behavior...
It turns out several tests weren't being run in the nightlies so this
took a while to spot"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
rbd: send snapshot context with writes
Diffstat (limited to 'drivers/block/rbd.c')
-rw-r--r-- | drivers/block/rbd.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 247bf3099731..aff789d6fccd 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c | |||
@@ -2252,13 +2252,17 @@ static int rbd_img_request_fill(struct rbd_img_request *img_request, | |||
2252 | obj_request->pages, length, | 2252 | obj_request->pages, length, |
2253 | offset & ~PAGE_MASK, false, false); | 2253 | offset & ~PAGE_MASK, false, false); |
2254 | 2254 | ||
2255 | /* | ||
2256 | * set obj_request->img_request before formatting | ||
2257 | * the osd_request so that it gets the right snapc | ||
2258 | */ | ||
2259 | rbd_img_obj_request_add(img_request, obj_request); | ||
2255 | if (write_request) | 2260 | if (write_request) |
2256 | rbd_osd_req_format_write(obj_request); | 2261 | rbd_osd_req_format_write(obj_request); |
2257 | else | 2262 | else |
2258 | rbd_osd_req_format_read(obj_request); | 2263 | rbd_osd_req_format_read(obj_request); |
2259 | 2264 | ||
2260 | obj_request->img_offset = img_offset; | 2265 | obj_request->img_offset = img_offset; |
2261 | rbd_img_obj_request_add(img_request, obj_request); | ||
2262 | 2266 | ||
2263 | img_offset += length; | 2267 | img_offset += length; |
2264 | resid -= length; | 2268 | resid -= length; |