Commit 0ce1a794 authored by Alex Elder's avatar Alex Elder Committed by Sage Weil

rbd: use rbd_dev consistently

Most variables that represent a struct rbd_device are named
"rbd_dev", but in some cases "dev" is used instead.  Change all the
"dev" references so they use "rbd_dev" consistently, to make it
clear from the name that we're working with an RBD device (as
opposed to, for example, a struct device).  Similarly, change the
name of the "dev" field in struct rbd_notify_info to be "rbd_dev".
Signed-off-by: default avatarAlex Elder <elder@inktank.com>
Reviewed-by: default avatarJosh Durgin <josh.durgin@inktank.com>
parent 820a5f3e
...@@ -582,35 +582,36 @@ static int snap_by_name(struct rbd_image_header *header, const char *snap_name, ...@@ -582,35 +582,36 @@ static int snap_by_name(struct rbd_image_header *header, const char *snap_name,
return -ENOENT; return -ENOENT;
} }
static int rbd_header_set_snap(struct rbd_device *dev, u64 *size) static int rbd_header_set_snap(struct rbd_device *rbd_dev, u64 *size)
{ {
struct rbd_image_header *header = &dev->header; struct rbd_image_header *header = &rbd_dev->header;
struct ceph_snap_context *snapc = header->snapc; struct ceph_snap_context *snapc = header->snapc;
int ret = -ENOENT; int ret = -ENOENT;
down_write(&dev->header_rwsem); down_write(&rbd_dev->header_rwsem);
if (!memcmp(dev->snap_name, RBD_SNAP_HEAD_NAME, if (!memcmp(rbd_dev->snap_name, RBD_SNAP_HEAD_NAME,
sizeof (RBD_SNAP_HEAD_NAME))) { sizeof (RBD_SNAP_HEAD_NAME))) {
if (header->total_snaps) if (header->total_snaps)
snapc->seq = header->snap_seq; snapc->seq = header->snap_seq;
else else
snapc->seq = 0; snapc->seq = 0;
dev->snap_id = CEPH_NOSNAP; rbd_dev->snap_id = CEPH_NOSNAP;
dev->read_only = 0; rbd_dev->read_only = 0;
if (size) if (size)
*size = header->image_size; *size = header->image_size;
} else { } else {
ret = snap_by_name(header, dev->snap_name, &snapc->seq, size); ret = snap_by_name(header, rbd_dev->snap_name,
&snapc->seq, size);
if (ret < 0) if (ret < 0)
goto done; goto done;
dev->snap_id = snapc->seq; rbd_dev->snap_id = snapc->seq;
dev->read_only = 1; rbd_dev->read_only = 1;
} }
ret = 0; ret = 0;
done: done:
up_write(&dev->header_rwsem); up_write(&rbd_dev->header_rwsem);
return ret; return ret;
} }
...@@ -854,7 +855,7 @@ static void rbd_coll_end_req(struct rbd_request *req, ...@@ -854,7 +855,7 @@ static void rbd_coll_end_req(struct rbd_request *req,
* Send ceph osd request * Send ceph osd request
*/ */
static int rbd_do_request(struct request *rq, static int rbd_do_request(struct request *rq,
struct rbd_device *dev, struct rbd_device *rbd_dev,
struct ceph_snap_context *snapc, struct ceph_snap_context *snapc,
u64 snapid, u64 snapid,
const char *obj, u64 ofs, u64 len, const char *obj, u64 ofs, u64 len,
...@@ -895,13 +896,13 @@ static int rbd_do_request(struct request *rq, ...@@ -895,13 +896,13 @@ static int rbd_do_request(struct request *rq,
dout("rbd_do_request obj=%s ofs=%lld len=%lld\n", obj, len, ofs); dout("rbd_do_request obj=%s ofs=%lld len=%lld\n", obj, len, ofs);
down_read(&dev->header_rwsem); down_read(&rbd_dev->header_rwsem);
osdc = &dev->rbd_client->client->osdc; osdc = &rbd_dev->rbd_client->client->osdc;
req = ceph_osdc_alloc_request(osdc, flags, snapc, ops, req = ceph_osdc_alloc_request(osdc, flags, snapc, ops,
false, GFP_NOIO, pages, bio); false, GFP_NOIO, pages, bio);
if (!req) { if (!req) {
up_read(&dev->header_rwsem); up_read(&rbd_dev->header_rwsem);
ret = -ENOMEM; ret = -ENOMEM;
goto done_pages; goto done_pages;
} }
...@@ -926,7 +927,7 @@ static int rbd_do_request(struct request *rq, ...@@ -926,7 +927,7 @@ static int rbd_do_request(struct request *rq,
layout->fl_stripe_unit = cpu_to_le32(1 << RBD_MAX_OBJ_ORDER); layout->fl_stripe_unit = cpu_to_le32(1 << RBD_MAX_OBJ_ORDER);
layout->fl_stripe_count = cpu_to_le32(1); layout->fl_stripe_count = cpu_to_le32(1);
layout->fl_object_size = cpu_to_le32(1 << RBD_MAX_OBJ_ORDER); layout->fl_object_size = cpu_to_le32(1 << RBD_MAX_OBJ_ORDER);
layout->fl_pg_pool = cpu_to_le32(dev->pool_id); layout->fl_pg_pool = cpu_to_le32(rbd_dev->pool_id);
ceph_calc_raw_layout(osdc, layout, snapid, ofs, &len, &bno, ceph_calc_raw_layout(osdc, layout, snapid, ofs, &len, &bno,
req, ops); req, ops);
...@@ -935,7 +936,7 @@ static int rbd_do_request(struct request *rq, ...@@ -935,7 +936,7 @@ static int rbd_do_request(struct request *rq,
snapc, snapc,
&mtime, &mtime,
req->r_oid, req->r_oid_len); req->r_oid, req->r_oid_len);
up_read(&dev->header_rwsem); up_read(&rbd_dev->header_rwsem);
if (linger_req) { if (linger_req) {
ceph_osdc_set_request_linger(osdc, req); ceph_osdc_set_request_linger(osdc, req);
...@@ -1012,7 +1013,7 @@ static void rbd_simple_req_cb(struct ceph_osd_request *req, struct ceph_msg *msg ...@@ -1012,7 +1013,7 @@ static void rbd_simple_req_cb(struct ceph_osd_request *req, struct ceph_msg *msg
/* /*
* Do a synchronous ceph osd operation * Do a synchronous ceph osd operation
*/ */
static int rbd_req_sync_op(struct rbd_device *dev, static int rbd_req_sync_op(struct rbd_device *rbd_dev,
struct ceph_snap_context *snapc, struct ceph_snap_context *snapc,
u64 snapid, u64 snapid,
int opcode, int opcode,
...@@ -1049,7 +1050,7 @@ static int rbd_req_sync_op(struct rbd_device *dev, ...@@ -1049,7 +1050,7 @@ static int rbd_req_sync_op(struct rbd_device *dev,
} }
} }
ret = rbd_do_request(NULL, dev, snapc, snapid, ret = rbd_do_request(NULL, rbd_dev, snapc, snapid,
obj, ofs, len, NULL, obj, ofs, len, NULL,
pages, num_pages, pages, num_pages,
flags, flags,
...@@ -1076,7 +1077,7 @@ static int rbd_req_sync_op(struct rbd_device *dev, ...@@ -1076,7 +1077,7 @@ static int rbd_req_sync_op(struct rbd_device *dev,
* Do an asynchronous ceph osd operation * Do an asynchronous ceph osd operation
*/ */
static int rbd_do_op(struct request *rq, static int rbd_do_op(struct request *rq,
struct rbd_device *rbd_dev , struct rbd_device *rbd_dev,
struct ceph_snap_context *snapc, struct ceph_snap_context *snapc,
u64 snapid, u64 snapid,
int opcode, int flags, int num_reply, int opcode, int flags, int num_reply,
...@@ -1168,7 +1169,7 @@ static int rbd_req_read(struct request *rq, ...@@ -1168,7 +1169,7 @@ static int rbd_req_read(struct request *rq,
/* /*
* Request sync osd read * Request sync osd read
*/ */
static int rbd_req_sync_read(struct rbd_device *dev, static int rbd_req_sync_read(struct rbd_device *rbd_dev,
struct ceph_snap_context *snapc, struct ceph_snap_context *snapc,
u64 snapid, u64 snapid,
const char *obj, const char *obj,
...@@ -1176,7 +1177,7 @@ static int rbd_req_sync_read(struct rbd_device *dev, ...@@ -1176,7 +1177,7 @@ static int rbd_req_sync_read(struct rbd_device *dev,
char *buf, char *buf,
u64 *ver) u64 *ver)
{ {
return rbd_req_sync_op(dev, NULL, return rbd_req_sync_op(rbd_dev, NULL,
snapid, snapid,
CEPH_OSD_OP_READ, CEPH_OSD_OP_READ,
CEPH_OSD_FLAG_READ, CEPH_OSD_FLAG_READ,
...@@ -1187,7 +1188,7 @@ static int rbd_req_sync_read(struct rbd_device *dev, ...@@ -1187,7 +1188,7 @@ static int rbd_req_sync_read(struct rbd_device *dev,
/* /*
* Request sync osd watch * Request sync osd watch
*/ */
static int rbd_req_sync_notify_ack(struct rbd_device *dev, static int rbd_req_sync_notify_ack(struct rbd_device *rbd_dev,
u64 ver, u64 ver,
u64 notify_id, u64 notify_id,
const char *obj) const char *obj)
...@@ -1199,11 +1200,11 @@ static int rbd_req_sync_notify_ack(struct rbd_device *dev, ...@@ -1199,11 +1200,11 @@ static int rbd_req_sync_notify_ack(struct rbd_device *dev,
if (ret < 0) if (ret < 0)
return ret; return ret;
ops[0].watch.ver = cpu_to_le64(dev->header.obj_version); ops[0].watch.ver = cpu_to_le64(rbd_dev->header.obj_version);
ops[0].watch.cookie = notify_id; ops[0].watch.cookie = notify_id;
ops[0].watch.flag = 0; ops[0].watch.flag = 0;
ret = rbd_do_request(NULL, dev, NULL, CEPH_NOSNAP, ret = rbd_do_request(NULL, rbd_dev, NULL, CEPH_NOSNAP,
obj, 0, 0, NULL, obj, 0, 0, NULL,
NULL, 0, NULL, 0,
CEPH_OSD_FLAG_READ, CEPH_OSD_FLAG_READ,
...@@ -1218,54 +1219,54 @@ static int rbd_req_sync_notify_ack(struct rbd_device *dev, ...@@ -1218,54 +1219,54 @@ static int rbd_req_sync_notify_ack(struct rbd_device *dev,
static void rbd_watch_cb(u64 ver, u64 notify_id, u8 opcode, void *data) static void rbd_watch_cb(u64 ver, u64 notify_id, u8 opcode, void *data)
{ {
struct rbd_device *dev = (struct rbd_device *)data; struct rbd_device *rbd_dev = (struct rbd_device *)data;
int rc; int rc;
if (!dev) if (!rbd_dev)
return; return;
dout("rbd_watch_cb %s notify_id=%lld opcode=%d\n", dev->obj_md_name, dout("rbd_watch_cb %s notify_id=%lld opcode=%d\n", rbd_dev->obj_md_name,
notify_id, (int)opcode); notify_id, (int)opcode);
mutex_lock_nested(&ctl_mutex, SINGLE_DEPTH_NESTING); mutex_lock_nested(&ctl_mutex, SINGLE_DEPTH_NESTING);
rc = __rbd_refresh_header(dev); rc = __rbd_refresh_header(rbd_dev);
mutex_unlock(&ctl_mutex); mutex_unlock(&ctl_mutex);
if (rc) if (rc)
pr_warning(RBD_DRV_NAME "%d got notification but failed to " pr_warning(RBD_DRV_NAME "%d got notification but failed to "
" update snaps: %d\n", dev->major, rc); " update snaps: %d\n", rbd_dev->major, rc);
rbd_req_sync_notify_ack(dev, ver, notify_id, dev->obj_md_name); rbd_req_sync_notify_ack(rbd_dev, ver, notify_id, rbd_dev->obj_md_name);
} }
/* /*
* Request sync osd watch * Request sync osd watch
*/ */
static int rbd_req_sync_watch(struct rbd_device *dev, static int rbd_req_sync_watch(struct rbd_device *rbd_dev,
const char *obj, const char *obj,
u64 ver) u64 ver)
{ {
struct ceph_osd_req_op *ops; struct ceph_osd_req_op *ops;
struct ceph_osd_client *osdc = &dev->rbd_client->client->osdc; struct ceph_osd_client *osdc = &rbd_dev->rbd_client->client->osdc;
int ret = rbd_create_rw_ops(&ops, 1, CEPH_OSD_OP_WATCH, 0); int ret = rbd_create_rw_ops(&ops, 1, CEPH_OSD_OP_WATCH, 0);
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = ceph_osdc_create_event(osdc, rbd_watch_cb, 0, ret = ceph_osdc_create_event(osdc, rbd_watch_cb, 0,
(void *)dev, &dev->watch_event); (void *)rbd_dev, &rbd_dev->watch_event);
if (ret < 0) if (ret < 0)
goto fail; goto fail;
ops[0].watch.ver = cpu_to_le64(ver); ops[0].watch.ver = cpu_to_le64(ver);
ops[0].watch.cookie = cpu_to_le64(dev->watch_event->cookie); ops[0].watch.cookie = cpu_to_le64(rbd_dev->watch_event->cookie);
ops[0].watch.flag = 1; ops[0].watch.flag = 1;
ret = rbd_req_sync_op(dev, NULL, ret = rbd_req_sync_op(rbd_dev, NULL,
CEPH_NOSNAP, CEPH_NOSNAP,
0, 0,
CEPH_OSD_FLAG_WRITE | CEPH_OSD_FLAG_ONDISK, CEPH_OSD_FLAG_WRITE | CEPH_OSD_FLAG_ONDISK,
ops, ops,
1, obj, 0, 0, NULL, 1, obj, 0, 0, NULL,
&dev->watch_request, NULL); &rbd_dev->watch_request, NULL);
if (ret < 0) if (ret < 0)
goto fail_event; goto fail_event;
...@@ -1274,8 +1275,8 @@ static int rbd_req_sync_watch(struct rbd_device *dev, ...@@ -1274,8 +1275,8 @@ static int rbd_req_sync_watch(struct rbd_device *dev,
return 0; return 0;
fail_event: fail_event:
ceph_osdc_cancel_event(dev->watch_event); ceph_osdc_cancel_event(rbd_dev->watch_event);
dev->watch_event = NULL; rbd_dev->watch_event = NULL;
fail: fail:
rbd_destroy_ops(ops); rbd_destroy_ops(ops);
return ret; return ret;
...@@ -1284,7 +1285,7 @@ static int rbd_req_sync_watch(struct rbd_device *dev, ...@@ -1284,7 +1285,7 @@ static int rbd_req_sync_watch(struct rbd_device *dev,
/* /*
* Request sync osd unwatch * Request sync osd unwatch
*/ */
static int rbd_req_sync_unwatch(struct rbd_device *dev, static int rbd_req_sync_unwatch(struct rbd_device *rbd_dev,
const char *obj) const char *obj)
{ {
struct ceph_osd_req_op *ops; struct ceph_osd_req_op *ops;
...@@ -1294,10 +1295,10 @@ static int rbd_req_sync_unwatch(struct rbd_device *dev, ...@@ -1294,10 +1295,10 @@ static int rbd_req_sync_unwatch(struct rbd_device *dev,
return ret; return ret;
ops[0].watch.ver = 0; ops[0].watch.ver = 0;
ops[0].watch.cookie = cpu_to_le64(dev->watch_event->cookie); ops[0].watch.cookie = cpu_to_le64(rbd_dev->watch_event->cookie);
ops[0].watch.flag = 0; ops[0].watch.flag = 0;
ret = rbd_req_sync_op(dev, NULL, ret = rbd_req_sync_op(rbd_dev, NULL,
CEPH_NOSNAP, CEPH_NOSNAP,
0, 0,
CEPH_OSD_FLAG_WRITE | CEPH_OSD_FLAG_ONDISK, CEPH_OSD_FLAG_WRITE | CEPH_OSD_FLAG_ONDISK,
...@@ -1305,33 +1306,34 @@ static int rbd_req_sync_unwatch(struct rbd_device *dev, ...@@ -1305,33 +1306,34 @@ static int rbd_req_sync_unwatch(struct rbd_device *dev,
1, obj, 0, 0, NULL, NULL, NULL); 1, obj, 0, 0, NULL, NULL, NULL);
rbd_destroy_ops(ops); rbd_destroy_ops(ops);
ceph_osdc_cancel_event(dev->watch_event); ceph_osdc_cancel_event(rbd_dev->watch_event);
dev->watch_event = NULL; rbd_dev->watch_event = NULL;
return ret; return ret;
} }
struct rbd_notify_info { struct rbd_notify_info {
struct rbd_device *dev; struct rbd_device *rbd_dev;
}; };
static void rbd_notify_cb(u64 ver, u64 notify_id, u8 opcode, void *data) static void rbd_notify_cb(u64 ver, u64 notify_id, u8 opcode, void *data)
{ {
struct rbd_device *dev = (struct rbd_device *)data; struct rbd_device *rbd_dev = (struct rbd_device *)data;
if (!dev) if (!rbd_dev)
return; return;
dout("rbd_notify_cb %s notify_id=%lld opcode=%d\n", dev->obj_md_name, dout("rbd_notify_cb %s notify_id=%lld opcode=%d\n",
rbd_dev->obj_md_name,
notify_id, (int)opcode); notify_id, (int)opcode);
} }
/* /*
* Request sync osd notify * Request sync osd notify
*/ */
static int rbd_req_sync_notify(struct rbd_device *dev, static int rbd_req_sync_notify(struct rbd_device *rbd_dev,
const char *obj) const char *obj)
{ {
struct ceph_osd_req_op *ops; struct ceph_osd_req_op *ops;
struct ceph_osd_client *osdc = &dev->rbd_client->client->osdc; struct ceph_osd_client *osdc = &rbd_dev->rbd_client->client->osdc;
struct ceph_osd_event *event; struct ceph_osd_event *event;
struct rbd_notify_info info; struct rbd_notify_info info;
int payload_len = sizeof(u32) + sizeof(u32); int payload_len = sizeof(u32) + sizeof(u32);
...@@ -1341,7 +1343,7 @@ static int rbd_req_sync_notify(struct rbd_device *dev, ...@@ -1341,7 +1343,7 @@ static int rbd_req_sync_notify(struct rbd_device *dev,
if (ret < 0) if (ret < 0)
return ret; return ret;
info.dev = dev; info.rbd_dev = rbd_dev;
ret = ceph_osdc_create_event(osdc, rbd_notify_cb, 1, ret = ceph_osdc_create_event(osdc, rbd_notify_cb, 1,
(void *)&info, &event); (void *)&info, &event);
...@@ -1354,7 +1356,7 @@ static int rbd_req_sync_notify(struct rbd_device *dev, ...@@ -1354,7 +1356,7 @@ static int rbd_req_sync_notify(struct rbd_device *dev,
ops[0].watch.prot_ver = RADOS_NOTIFY_VER; ops[0].watch.prot_ver = RADOS_NOTIFY_VER;
ops[0].watch.timeout = 12; ops[0].watch.timeout = 12;
ret = rbd_req_sync_op(dev, NULL, ret = rbd_req_sync_op(rbd_dev, NULL,
CEPH_NOSNAP, CEPH_NOSNAP,
0, 0,
CEPH_OSD_FLAG_WRITE | CEPH_OSD_FLAG_ONDISK, CEPH_OSD_FLAG_WRITE | CEPH_OSD_FLAG_ONDISK,
...@@ -1378,7 +1380,7 @@ static int rbd_req_sync_notify(struct rbd_device *dev, ...@@ -1378,7 +1380,7 @@ static int rbd_req_sync_notify(struct rbd_device *dev,
/* /*
* Request sync osd read * Request sync osd read
*/ */
static int rbd_req_sync_exec(struct rbd_device *dev, static int rbd_req_sync_exec(struct rbd_device *rbd_dev,
const char *obj, const char *obj,
const char *cls, const char *cls,
const char *method, const char *method,
...@@ -1402,7 +1404,7 @@ static int rbd_req_sync_exec(struct rbd_device *dev, ...@@ -1402,7 +1404,7 @@ static int rbd_req_sync_exec(struct rbd_device *dev,
ops[0].cls.indata = data; ops[0].cls.indata = data;
ops[0].cls.indata_len = len; ops[0].cls.indata_len = len;
ret = rbd_req_sync_op(dev, NULL, ret = rbd_req_sync_op(rbd_dev, NULL,
CEPH_NOSNAP, CEPH_NOSNAP,
0, 0,
CEPH_OSD_FLAG_WRITE | CEPH_OSD_FLAG_ONDISK, CEPH_OSD_FLAG_WRITE | CEPH_OSD_FLAG_ONDISK,
...@@ -1633,7 +1635,7 @@ static int rbd_read_header(struct rbd_device *rbd_dev, ...@@ -1633,7 +1635,7 @@ static int rbd_read_header(struct rbd_device *rbd_dev,
/* /*
* create a snapshot * create a snapshot
*/ */
static int rbd_header_add_snap(struct rbd_device *dev, static int rbd_header_add_snap(struct rbd_device *rbd_dev,
const char *snap_name, const char *snap_name,
gfp_t gfp_flags) gfp_t gfp_flags)
{ {
...@@ -1645,11 +1647,11 @@ static int rbd_header_add_snap(struct rbd_device *dev, ...@@ -1645,11 +1647,11 @@ static int rbd_header_add_snap(struct rbd_device *dev,
struct ceph_mon_client *monc; struct ceph_mon_client *monc;
/* we should create a snapshot only if we're pointing at the head */ /* we should create a snapshot only if we're pointing at the head */
if (dev->snap_id != CEPH_NOSNAP) if (rbd_dev->snap_id != CEPH_NOSNAP)
return -EINVAL; return -EINVAL;
monc = &dev->rbd_client->client->monc; monc = &rbd_dev->rbd_client->client->monc;
ret = ceph_monc_create_snapid(monc, dev->pool_id, &new_snapid); ret = ceph_monc_create_snapid(monc, rbd_dev->pool_id, &new_snapid);
dout("created snapid=%lld\n", new_snapid); dout("created snapid=%lld\n", new_snapid);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -1664,7 +1666,8 @@ static int rbd_header_add_snap(struct rbd_device *dev, ...@@ -1664,7 +1666,8 @@ static int rbd_header_add_snap(struct rbd_device *dev,
ceph_encode_string_safe(&p, e, snap_name, name_len, bad); ceph_encode_string_safe(&p, e, snap_name, name_len, bad);
ceph_encode_64_safe(&p, e, new_snapid, bad); ceph_encode_64_safe(&p, e, new_snapid, bad);
ret = rbd_req_sync_exec(dev, dev->obj_md_name, "rbd", "snap_add", ret = rbd_req_sync_exec(rbd_dev, rbd_dev->obj_md_name,
"rbd", "snap_add",
data, p - data, &ver); data, p - data, &ver);
kfree(data); kfree(data);
...@@ -1672,9 +1675,9 @@ static int rbd_header_add_snap(struct rbd_device *dev, ...@@ -1672,9 +1675,9 @@ static int rbd_header_add_snap(struct rbd_device *dev,
if (ret < 0) if (ret < 0)
return ret; return ret;
down_write(&dev->header_rwsem); down_write(&rbd_dev->header_rwsem);
dev->header.snapc->seq = new_snapid; rbd_dev->header.snapc->seq = new_snapid;
up_write(&dev->header_rwsem); up_write(&rbd_dev->header_rwsem);
return 0; return 0;
bad: bad:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment