aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-04-30 01:44:33 -0400
committerSage Weil <sage@inktank.com>2013-05-02 00:20:15 -0400
commitcc4a38bdd587a1843540989f262feb7bdc43c468 (patch)
tree51c3e2efbb94682cea251d1d3f3e1c0f0be6c800
parent7097f8df6e679207c949673d2959505b59a1a30e (diff)
rbd: more version parameter removal
Continued from the last patch, more parameters that can go away because we no longer have a need to track object versions. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
-rw-r--r--drivers/block/rbd.c39
1 files changed, 18 insertions, 21 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 77265710dd1a..613750933588 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -429,8 +429,8 @@ static int rbd_img_obj_request_submit(struct rbd_obj_request *obj_request);
429static void rbd_img_parent_read(struct rbd_obj_request *obj_request); 429static void rbd_img_parent_read(struct rbd_obj_request *obj_request);
430static void rbd_dev_remove_parent(struct rbd_device *rbd_dev); 430static void rbd_dev_remove_parent(struct rbd_device *rbd_dev);
431 431
432static int rbd_dev_refresh(struct rbd_device *rbd_dev, u64 *hver); 432static int rbd_dev_refresh(struct rbd_device *rbd_dev);
433static int rbd_dev_v2_refresh(struct rbd_device *rbd_dev, u64 *hver); 433static int rbd_dev_v2_refresh(struct rbd_device *rbd_dev);
434 434
435static int rbd_open(struct block_device *bdev, fmode_t mode) 435static int rbd_open(struct block_device *bdev, fmode_t mode)
436{ 436{
@@ -2468,8 +2468,7 @@ out_err:
2468 obj_request_done_set(obj_request); 2468 obj_request_done_set(obj_request);
2469} 2469}
2470 2470
2471static int rbd_obj_notify_ack(struct rbd_device *rbd_dev, 2471static int rbd_obj_notify_ack(struct rbd_device *rbd_dev, u64 notify_id)
2472 u64 ver, u64 notify_id)
2473{ 2472{
2474 struct rbd_obj_request *obj_request; 2473 struct rbd_obj_request *obj_request;
2475 struct ceph_osd_client *osdc = &rbd_dev->rbd_client->client->osdc; 2474 struct ceph_osd_client *osdc = &rbd_dev->rbd_client->client->osdc;
@@ -2487,7 +2486,7 @@ static int rbd_obj_notify_ack(struct rbd_device *rbd_dev,
2487 obj_request->callback = rbd_obj_request_put; 2486 obj_request->callback = rbd_obj_request_put;
2488 2487
2489 osd_req_op_watch_init(obj_request->osd_req, 0, CEPH_OSD_OP_NOTIFY_ACK, 2488 osd_req_op_watch_init(obj_request->osd_req, 0, CEPH_OSD_OP_NOTIFY_ACK,
2490 notify_id, ver, 0); 2489 notify_id, 0, 0);
2491 rbd_osd_req_format_read(obj_request); 2490 rbd_osd_req_format_read(obj_request);
2492 2491
2493 ret = rbd_obj_request_submit(osdc, obj_request); 2492 ret = rbd_obj_request_submit(osdc, obj_request);
@@ -2501,17 +2500,16 @@ out:
2501static void rbd_watch_cb(u64 ver, u64 notify_id, u8 opcode, void *data) 2500static void rbd_watch_cb(u64 ver, u64 notify_id, u8 opcode, void *data)
2502{ 2501{
2503 struct rbd_device *rbd_dev = (struct rbd_device *)data; 2502 struct rbd_device *rbd_dev = (struct rbd_device *)data;
2504 u64 hver;
2505 2503
2506 if (!rbd_dev) 2504 if (!rbd_dev)
2507 return; 2505 return;
2508 2506
2509 dout("%s: \"%s\" notify_id %llu opcode %u\n", __func__, 2507 dout("%s: \"%s\" notify_id %llu opcode %u\n", __func__,
2510 rbd_dev->header_name, (unsigned long long) notify_id, 2508 rbd_dev->header_name, (unsigned long long)notify_id,
2511 (unsigned int) opcode); 2509 (unsigned int)opcode);
2512 (void)rbd_dev_refresh(rbd_dev, &hver); 2510 (void)rbd_dev_refresh(rbd_dev);
2513 2511
2514 rbd_obj_notify_ack(rbd_dev, hver, notify_id); 2512 rbd_obj_notify_ack(rbd_dev, notify_id);
2515} 2513}
2516 2514
2517/* 2515/*
@@ -3014,7 +3012,7 @@ static void rbd_update_mapping_size(struct rbd_device *rbd_dev)
3014/* 3012/*
3015 * only read the first part of the ondisk header, without the snaps info 3013 * only read the first part of the ondisk header, without the snaps info
3016 */ 3014 */
3017static int rbd_dev_v1_refresh(struct rbd_device *rbd_dev, u64 *hver) 3015static int rbd_dev_v1_refresh(struct rbd_device *rbd_dev)
3018{ 3016{
3019 int ret; 3017 int ret;
3020 struct rbd_image_header h; 3018 struct rbd_image_header h;
@@ -3051,7 +3049,7 @@ static int rbd_dev_v1_refresh(struct rbd_device *rbd_dev, u64 *hver)
3051 return ret; 3049 return ret;
3052} 3050}
3053 3051
3054static int rbd_dev_refresh(struct rbd_device *rbd_dev, u64 *hver) 3052static int rbd_dev_refresh(struct rbd_device *rbd_dev)
3055{ 3053{
3056 u64 image_size; 3054 u64 image_size;
3057 int ret; 3055 int ret;
@@ -3060,9 +3058,9 @@ static int rbd_dev_refresh(struct rbd_device *rbd_dev, u64 *hver)
3060 image_size = rbd_dev->header.image_size; 3058 image_size = rbd_dev->header.image_size;
3061 mutex_lock_nested(&ctl_mutex, SINGLE_DEPTH_NESTING); 3059 mutex_lock_nested(&ctl_mutex, SINGLE_DEPTH_NESTING);
3062 if (rbd_dev->image_format == 1) 3060 if (rbd_dev->image_format == 1)
3063 ret = rbd_dev_v1_refresh(rbd_dev, hver); 3061 ret = rbd_dev_v1_refresh(rbd_dev);
3064 else 3062 else
3065 ret = rbd_dev_v2_refresh(rbd_dev, hver); 3063 ret = rbd_dev_v2_refresh(rbd_dev);
3066 mutex_unlock(&ctl_mutex); 3064 mutex_unlock(&ctl_mutex);
3067 if (ret) 3065 if (ret)
3068 rbd_warn(rbd_dev, "got notification but failed to " 3066 rbd_warn(rbd_dev, "got notification but failed to "
@@ -3271,7 +3269,7 @@ static ssize_t rbd_image_refresh(struct device *dev,
3271 struct rbd_device *rbd_dev = dev_to_rbd_dev(dev); 3269 struct rbd_device *rbd_dev = dev_to_rbd_dev(dev);
3272 int ret; 3270 int ret;
3273 3271
3274 ret = rbd_dev_refresh(rbd_dev, NULL); 3272 ret = rbd_dev_refresh(rbd_dev);
3275 3273
3276 return ret < 0 ? ret : size; 3274 return ret < 0 ? ret : size;
3277} 3275}
@@ -3824,7 +3822,7 @@ out_err:
3824 return ret; 3822 return ret;
3825} 3823}
3826 3824
3827static int rbd_dev_v2_snap_context(struct rbd_device *rbd_dev, u64 *ver) 3825static int rbd_dev_v2_snap_context(struct rbd_device *rbd_dev)
3828{ 3826{
3829 size_t size; 3827 size_t size;
3830 int ret; 3828 int ret;
@@ -3850,7 +3848,7 @@ static int rbd_dev_v2_snap_context(struct rbd_device *rbd_dev, u64 *ver)
3850 3848
3851 ret = rbd_obj_method_sync(rbd_dev, rbd_dev->header_name, 3849 ret = rbd_obj_method_sync(rbd_dev, rbd_dev->header_name,
3852 "rbd", "get_snapcontext", NULL, 0, 3850 "rbd", "get_snapcontext", NULL, 0,
3853 reply_buf, size, ver); 3851 reply_buf, size, NULL);
3854 dout("%s: rbd_obj_method_sync returned %d\n", __func__, ret); 3852 dout("%s: rbd_obj_method_sync returned %d\n", __func__, ret);
3855 if (ret < 0) 3853 if (ret < 0)
3856 goto out; 3854 goto out;
@@ -3978,7 +3976,7 @@ static const char *rbd_dev_snap_info(struct rbd_device *rbd_dev, u32 which,
3978 return ERR_PTR(-EINVAL); 3976 return ERR_PTR(-EINVAL);
3979} 3977}
3980 3978
3981static int rbd_dev_v2_refresh(struct rbd_device *rbd_dev, u64 *hver) 3979static int rbd_dev_v2_refresh(struct rbd_device *rbd_dev)
3982{ 3980{
3983 int ret; 3981 int ret;
3984 3982
@@ -3989,7 +3987,7 @@ static int rbd_dev_v2_refresh(struct rbd_device *rbd_dev, u64 *hver)
3989 goto out; 3987 goto out;
3990 rbd_update_mapping_size(rbd_dev); 3988 rbd_update_mapping_size(rbd_dev);
3991 3989
3992 ret = rbd_dev_v2_snap_context(rbd_dev, hver); 3990 ret = rbd_dev_v2_snap_context(rbd_dev);
3993 dout("rbd_dev_v2_snap_context returned %d\n", ret); 3991 dout("rbd_dev_v2_snap_context returned %d\n", ret);
3994 if (ret) 3992 if (ret)
3995 goto out; 3993 goto out;
@@ -4591,7 +4589,6 @@ out_err:
4591static int rbd_dev_v2_probe(struct rbd_device *rbd_dev) 4589static int rbd_dev_v2_probe(struct rbd_device *rbd_dev)
4592{ 4590{
4593 int ret; 4591 int ret;
4594 u64 ver = 0;
4595 4592
4596 ret = rbd_dev_v2_image_size(rbd_dev); 4593 ret = rbd_dev_v2_image_size(rbd_dev);
4597 if (ret) 4594 if (ret)
@@ -4641,7 +4638,7 @@ static int rbd_dev_v2_probe(struct rbd_device *rbd_dev)
4641 4638
4642 /* Get the snapshot context, plus the header version */ 4639 /* Get the snapshot context, plus the header version */
4643 4640
4644 ret = rbd_dev_v2_snap_context(rbd_dev, &ver); 4641 ret = rbd_dev_v2_snap_context(rbd_dev);
4645 if (ret) 4642 if (ret)
4646 goto out_err; 4643 goto out_err;
4647 4644