aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-01-25 18:08:55 -0500
committerSage Weil <sage@inktank.com>2013-02-13 21:29:10 -0500
commit975241afcbba82ab1ddc6ebf8a02246d1e9314fd (patch)
tree74197e189c9da0ed90104aec82b570026bdedfd6 /drivers/block
parent6977c3f983b0d2b481a65b1fa3e85683fd1318af (diff)
rbd: track object rather than osd request for watch
Switch to keeping track of the object request pointer rather than the osd request used to watch the rbd image header object. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/rbd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 5593def33ce5..fc1a045cee4d 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -272,7 +272,7 @@ struct rbd_device {
272 struct ceph_file_layout layout; 272 struct ceph_file_layout layout;
273 273
274 struct ceph_osd_event *watch_event; 274 struct ceph_osd_event *watch_event;
275 struct ceph_osd_request *watch_request; 275 struct rbd_obj_request *watch_request;
276 276
277 struct rbd_spec *parent_spec; 277 struct rbd_spec *parent_spec;
278 u64 parent_overlap; 278 u64 parent_overlap;
@@ -1719,11 +1719,11 @@ static int rbd_dev_header_watch_sync(struct rbd_device *rbd_dev, int start)
1719 goto out_cancel; 1719 goto out_cancel;
1720 1720
1721 if (start) { 1721 if (start) {
1722 rbd_dev->watch_request = obj_request->osd_req; 1722 ceph_osdc_set_request_linger(osdc, obj_request->osd_req);
1723 ceph_osdc_set_request_linger(osdc, rbd_dev->watch_request); 1723 rbd_dev->watch_request = obj_request;
1724 } else { 1724 } else {
1725 ceph_osdc_unregister_linger_request(osdc, 1725 ceph_osdc_unregister_linger_request(osdc,
1726 rbd_dev->watch_request); 1726 rbd_dev->watch_request->osd_req);
1727 rbd_dev->watch_request = NULL; 1727 rbd_dev->watch_request = NULL;
1728 } 1728 }
1729 ret = rbd_obj_request_submit(osdc, obj_request); 1729 ret = rbd_obj_request_submit(osdc, obj_request);