From 6019ee301b05fcc83f8f0c645217172d9969d76a Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Fri, 25 Jan 2013 17:08:55 -0600 Subject: [PATCH] --- yaml --- r: 359641 b: refs/heads/master c: 6977c3f983b0d2b481a65b1fa3e85683fd1318af h: refs/heads/master i: 359639: bcd64ab0a895706c4291ebb366eed76540323319 v: v3 --- [refs] | 2 +- trunk/drivers/block/rbd.c | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 8341a0252942..cdecba8ae685 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9f20e02a53b944a54a35b9f0db1243cd64872f7d +refs/heads/master: 6977c3f983b0d2b481a65b1fa3e85683fd1318af diff --git a/trunk/drivers/block/rbd.c b/trunk/drivers/block/rbd.c index 4ea89917bb92..5593def33ce5 100644 --- a/trunk/drivers/block/rbd.c +++ b/trunk/drivers/block/rbd.c @@ -1721,6 +1721,10 @@ static int rbd_dev_header_watch_sync(struct rbd_device *rbd_dev, int start) if (start) { rbd_dev->watch_request = obj_request->osd_req; ceph_osdc_set_request_linger(osdc, rbd_dev->watch_request); + } else { + ceph_osdc_unregister_linger_request(osdc, + rbd_dev->watch_request); + rbd_dev->watch_request = NULL; } ret = rbd_obj_request_submit(osdc, obj_request); if (ret) @@ -3995,12 +3999,6 @@ static void rbd_dev_release(struct device *dev) { struct rbd_device *rbd_dev = dev_to_rbd_dev(dev); - if (rbd_dev->watch_request) { - struct ceph_client *client = rbd_dev->rbd_client->client; - - ceph_osdc_unregister_linger_request(&client->osdc, - rbd_dev->watch_request); - } if (rbd_dev->watch_event) rbd_dev_header_watch_sync(rbd_dev, 0);