rbd: rbd_dev_header_unwatch_sync() variant
Introduce __rbd_dev_header_unwatch_sync(), which doesn't flush notify callbacks. This is for the new rados_watcherrcb_t, which would be called from a notify callback. Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
42b0696527
commit
c525f03601
|
@ -3246,10 +3246,7 @@ static int rbd_dev_header_watch_sync(struct rbd_device *rbd_dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
static void __rbd_dev_header_unwatch_sync(struct rbd_device *rbd_dev)
|
||||||
* Tear down a watch request, synchronously.
|
|
||||||
*/
|
|
||||||
static void rbd_dev_header_unwatch_sync(struct rbd_device *rbd_dev)
|
|
||||||
{
|
{
|
||||||
struct rbd_obj_request *obj_request;
|
struct rbd_obj_request *obj_request;
|
||||||
|
|
||||||
|
@ -3269,6 +3266,14 @@ static void rbd_dev_header_unwatch_sync(struct rbd_device *rbd_dev)
|
||||||
|
|
||||||
ceph_osdc_cancel_event(rbd_dev->watch_event);
|
ceph_osdc_cancel_event(rbd_dev->watch_event);
|
||||||
rbd_dev->watch_event = NULL;
|
rbd_dev->watch_event = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tear down a watch request, synchronously.
|
||||||
|
*/
|
||||||
|
static void rbd_dev_header_unwatch_sync(struct rbd_device *rbd_dev)
|
||||||
|
{
|
||||||
|
__rbd_dev_header_unwatch_sync(rbd_dev);
|
||||||
|
|
||||||
dout("%s flushing notifies\n", __func__);
|
dout("%s flushing notifies\n", __func__);
|
||||||
ceph_osdc_flush_notifies(&rbd_dev->rbd_client->client->osdc);
|
ceph_osdc_flush_notifies(&rbd_dev->rbd_client->client->osdc);
|
||||||
|
|
Loading…
Reference in New Issue