From 79f36e38c9232d8726151eb5f1653e73c1c80b2a Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Fri, 18 Jan 2013 12:31:09 -0600 Subject: [PATCH] --- yaml --- r: 359615 b: refs/heads/master c: c04306471ad93f1daf60771a0373316d4c3494ae h: refs/heads/master i: 359613: c74375fd44cd512cea155645721f7fd6fdb7f48b 359611: b6d3f7f36fc1d0420f43b548fdf33ec2aa72e633 359607: c945f5f28d79a256225d38d23d35d7e9e187a64c 359599: b1bc3345ae4b522ecf288d596635e70ff5b48aff 359583: c20c9ec871b04788d6f396b0cdb94d7f5a761fc4 359551: 3d992423f8f129c4d1548224d3f8a8eeb03f4e3b v: v3 --- [refs] | 2 +- trunk/drivers/block/rbd.c | 23 ++++------------------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/[refs] b/[refs] index 1a498c6de4b7..25f1d891dea7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 38901e0f240b634467fb31743365af80a006be33 +refs/heads/master: c04306471ad93f1daf60771a0373316d4c3494ae diff --git a/trunk/drivers/block/rbd.c b/trunk/drivers/block/rbd.c index 58d01e3a0fce..668936381ab0 100644 --- a/trunk/drivers/block/rbd.c +++ b/trunk/drivers/block/rbd.c @@ -1474,6 +1474,9 @@ static int rbd_req_sync_watch(struct rbd_device *rbd_dev, int start) struct ceph_osd_req_op *op; int ret = 0; + rbd_assert(start ^ !!rbd_dev->watch_event); + rbd_assert(start ^ !!rbd_dev->watch_request); + if (start) { struct ceph_osd_client *osdc; @@ -1482,8 +1485,6 @@ static int rbd_req_sync_watch(struct rbd_device *rbd_dev, int start) &rbd_dev->watch_event); if (ret < 0) return ret; - } else { - rbd_assert(rbd_dev->watch_request != NULL); } op = rbd_osd_req_op_create(CEPH_OSD_OP_WATCH, @@ -3023,22 +3024,6 @@ static void rbd_bus_del_dev(struct rbd_device *rbd_dev) device_unregister(&rbd_dev->dev); } -static int rbd_init_watch_dev(struct rbd_device *rbd_dev) -{ - int ret, rc; - - do { - ret = rbd_req_sync_watch(rbd_dev, 1); - if (ret == -ERANGE) { - rc = rbd_dev_refresh(rbd_dev, NULL); - if (rc < 0) - return rc; - } - } while (ret == -ERANGE); - - return ret; -} - static atomic64_t rbd_dev_id_max = ATOMIC64_INIT(0); /* @@ -3584,7 +3569,7 @@ static int rbd_dev_probe_finish(struct rbd_device *rbd_dev) if (ret) goto err_out_bus; - ret = rbd_init_watch_dev(rbd_dev); + ret = rbd_req_sync_watch(rbd_dev, 1); if (ret) goto err_out_bus;