summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-01-25 17:08:55 -0600
committerSage Weil <sage@inktank.com>2013-02-13 18:29:10 -0800
commit975241afcbba82ab1ddc6ebf8a02246d1e9314fd (patch)
tree74197e189c9da0ed90104aec82b570026bdedfd6 /drivers
parent6977c3f983b0d2b481a65b1fa3e85683fd1318af (diff)
downloadlinux-stable-975241afcbba82ab1ddc6ebf8a02246d1e9314fd.tar.gz
linux-stable-975241afcbba82ab1ddc6ebf8a02246d1e9314fd.tar.bz2
linux-stable-975241afcbba82ab1ddc6ebf8a02246d1e9314fd.zip
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')
-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 {
struct ceph_file_layout layout;
struct ceph_osd_event *watch_event;
- struct ceph_osd_request *watch_request;
+ struct rbd_obj_request *watch_request;
struct rbd_spec *parent_spec;
u64 parent_overlap;
@@ -1719,11 +1719,11 @@ static int rbd_dev_header_watch_sync(struct rbd_device *rbd_dev, int start)
goto out_cancel;
if (start) {
- rbd_dev->watch_request = obj_request->osd_req;
- ceph_osdc_set_request_linger(osdc, rbd_dev->watch_request);
+ ceph_osdc_set_request_linger(osdc, obj_request->osd_req);
+ rbd_dev->watch_request = obj_request;
} else {
ceph_osdc_unregister_linger_request(osdc,
- rbd_dev->watch_request);
+ rbd_dev->watch_request->osd_req);
rbd_dev->watch_request = NULL;
}
ret = rbd_obj_request_submit(osdc, obj_request);