Commit 90af3602 authored by Alex Elder's avatar Alex Elder Committed by Sage Weil

libceph: add, don't set data for a message

Change the names of the functions that put data on a pagelist to
reflect that we're adding to whatever's already there rather than
just setting it to the one thing.  Currently only one data item is
ever added to a message, but that's about to change.

This resolves:
    http://tracker.ceph.com/issues/2770Signed-off-by: default avatarAlex Elder <elder@inktank.com>
Reviewed-by: default avatarJosh Durgin <josh.durgin@inktank.com>
parent ca8b3a69
...@@ -1724,7 +1724,7 @@ static struct ceph_msg *create_request_message(struct ceph_mds_client *mdsc, ...@@ -1724,7 +1724,7 @@ static struct ceph_msg *create_request_message(struct ceph_mds_client *mdsc,
if (req->r_data_len) { if (req->r_data_len) {
/* outbound data set only by ceph_sync_setxattr() */ /* outbound data set only by ceph_sync_setxattr() */
BUG_ON(!req->r_pages); BUG_ON(!req->r_pages);
ceph_msg_data_set_pages(msg, req->r_pages, req->r_data_len, 0); ceph_msg_data_add_pages(msg, req->r_pages, req->r_data_len, 0);
} }
msg->hdr.data_len = cpu_to_le32(req->r_data_len); msg->hdr.data_len = cpu_to_le32(req->r_data_len);
...@@ -2608,7 +2608,7 @@ static void send_mds_reconnect(struct ceph_mds_client *mdsc, ...@@ -2608,7 +2608,7 @@ static void send_mds_reconnect(struct ceph_mds_client *mdsc,
if (pagelist->length) { if (pagelist->length) {
/* set up outbound data if we have any */ /* set up outbound data if we have any */
reply->hdr.data_len = cpu_to_le32(pagelist->length); reply->hdr.data_len = cpu_to_le32(pagelist->length);
ceph_msg_data_set_pagelist(reply, pagelist); ceph_msg_data_add_pagelist(reply, pagelist);
} }
ceph_con_send(&session->s_con, reply); ceph_con_send(&session->s_con, reply);
......
...@@ -275,12 +275,12 @@ extern void ceph_msg_revoke_incoming(struct ceph_msg *msg); ...@@ -275,12 +275,12 @@ extern void ceph_msg_revoke_incoming(struct ceph_msg *msg);
extern void ceph_con_keepalive(struct ceph_connection *con); extern void ceph_con_keepalive(struct ceph_connection *con);
extern void ceph_msg_data_set_pages(struct ceph_msg *msg, struct page **pages, extern void ceph_msg_data_add_pages(struct ceph_msg *msg, struct page **pages,
size_t length, size_t alignment); size_t length, size_t alignment);
extern void ceph_msg_data_set_pagelist(struct ceph_msg *msg, extern void ceph_msg_data_add_pagelist(struct ceph_msg *msg,
struct ceph_pagelist *pagelist); struct ceph_pagelist *pagelist);
#ifdef CONFIG_BLOCK #ifdef CONFIG_BLOCK
extern void ceph_msg_data_set_bio(struct ceph_msg *msg, struct bio *bio, extern void ceph_msg_data_add_bio(struct ceph_msg *msg, struct bio *bio,
size_t length); size_t length);
#endif /* CONFIG_BLOCK */ #endif /* CONFIG_BLOCK */
......
...@@ -3005,7 +3005,7 @@ static void ceph_msg_data_destroy(struct ceph_msg_data *data) ...@@ -3005,7 +3005,7 @@ static void ceph_msg_data_destroy(struct ceph_msg_data *data)
kfree(data); kfree(data);
} }
void ceph_msg_data_set_pages(struct ceph_msg *msg, struct page **pages, void ceph_msg_data_add_pages(struct ceph_msg *msg, struct page **pages,
size_t length, size_t alignment) size_t length, size_t alignment)
{ {
struct ceph_msg_data *data; struct ceph_msg_data *data;
...@@ -3023,9 +3023,9 @@ void ceph_msg_data_set_pages(struct ceph_msg *msg, struct page **pages, ...@@ -3023,9 +3023,9 @@ void ceph_msg_data_set_pages(struct ceph_msg *msg, struct page **pages,
list_add_tail(&data->links, &msg->data); list_add_tail(&data->links, &msg->data);
msg->data_length += length; msg->data_length += length;
} }
EXPORT_SYMBOL(ceph_msg_data_set_pages); EXPORT_SYMBOL(ceph_msg_data_add_pages);
void ceph_msg_data_set_pagelist(struct ceph_msg *msg, void ceph_msg_data_add_pagelist(struct ceph_msg *msg,
struct ceph_pagelist *pagelist) struct ceph_pagelist *pagelist)
{ {
struct ceph_msg_data *data; struct ceph_msg_data *data;
...@@ -3040,10 +3040,10 @@ void ceph_msg_data_set_pagelist(struct ceph_msg *msg, ...@@ -3040,10 +3040,10 @@ void ceph_msg_data_set_pagelist(struct ceph_msg *msg,
list_add_tail(&data->links, &msg->data); list_add_tail(&data->links, &msg->data);
msg->data_length += pagelist->length; msg->data_length += pagelist->length;
} }
EXPORT_SYMBOL(ceph_msg_data_set_pagelist); EXPORT_SYMBOL(ceph_msg_data_add_pagelist);
#ifdef CONFIG_BLOCK #ifdef CONFIG_BLOCK
void ceph_msg_data_set_bio(struct ceph_msg *msg, struct bio *bio, void ceph_msg_data_add_bio(struct ceph_msg *msg, struct bio *bio,
size_t length) size_t length)
{ {
struct ceph_msg_data *data; struct ceph_msg_data *data;
...@@ -3058,7 +3058,7 @@ void ceph_msg_data_set_bio(struct ceph_msg *msg, struct bio *bio, ...@@ -3058,7 +3058,7 @@ void ceph_msg_data_set_bio(struct ceph_msg *msg, struct bio *bio,
list_add_tail(&data->links, &msg->data); list_add_tail(&data->links, &msg->data);
msg->data_length += length; msg->data_length += length;
} }
EXPORT_SYMBOL(ceph_msg_data_set_bio); EXPORT_SYMBOL(ceph_msg_data_add_bio);
#endif /* CONFIG_BLOCK */ #endif /* CONFIG_BLOCK */
/* /*
......
...@@ -550,7 +550,7 @@ void osd_req_op_watch_init(struct ceph_osd_request *osd_req, ...@@ -550,7 +550,7 @@ void osd_req_op_watch_init(struct ceph_osd_request *osd_req,
} }
EXPORT_SYMBOL(osd_req_op_watch_init); EXPORT_SYMBOL(osd_req_op_watch_init);
static void ceph_osdc_msg_data_set(struct ceph_msg *msg, static void ceph_osdc_msg_data_add(struct ceph_msg *msg,
struct ceph_osd_data *osd_data) struct ceph_osd_data *osd_data)
{ {
u64 length = ceph_osd_data_length(osd_data); u64 length = ceph_osd_data_length(osd_data);
...@@ -558,14 +558,14 @@ static void ceph_osdc_msg_data_set(struct ceph_msg *msg, ...@@ -558,14 +558,14 @@ static void ceph_osdc_msg_data_set(struct ceph_msg *msg,
if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGES) { if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGES) {
BUG_ON(length > (u64) SIZE_MAX); BUG_ON(length > (u64) SIZE_MAX);
if (length) if (length)
ceph_msg_data_set_pages(msg, osd_data->pages, ceph_msg_data_add_pages(msg, osd_data->pages,
length, osd_data->alignment); length, osd_data->alignment);
} else if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGELIST) { } else if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGELIST) {
BUG_ON(!length); BUG_ON(!length);
ceph_msg_data_set_pagelist(msg, osd_data->pagelist); ceph_msg_data_add_pagelist(msg, osd_data->pagelist);
#ifdef CONFIG_BLOCK #ifdef CONFIG_BLOCK
} else if (osd_data->type == CEPH_OSD_DATA_TYPE_BIO) { } else if (osd_data->type == CEPH_OSD_DATA_TYPE_BIO) {
ceph_msg_data_set_bio(msg, osd_data->bio, length); ceph_msg_data_add_bio(msg, osd_data->bio, length);
#endif #endif
} else { } else {
BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_NONE); BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_NONE);
...@@ -600,18 +600,18 @@ static u64 osd_req_encode_op(struct ceph_osd_request *req, ...@@ -600,18 +600,18 @@ static u64 osd_req_encode_op(struct ceph_osd_request *req,
dst->extent.truncate_seq = dst->extent.truncate_seq =
cpu_to_le32(src->extent.truncate_seq); cpu_to_le32(src->extent.truncate_seq);
if (src->op == CEPH_OSD_OP_WRITE) if (src->op == CEPH_OSD_OP_WRITE)
ceph_osdc_msg_data_set(req->r_request, ceph_osdc_msg_data_add(req->r_request,
&src->extent.osd_data); &src->extent.osd_data);
else else
ceph_osdc_msg_data_set(req->r_reply, ceph_osdc_msg_data_add(req->r_reply,
&src->extent.osd_data); &src->extent.osd_data);
break; break;
case CEPH_OSD_OP_CALL: case CEPH_OSD_OP_CALL:
dst->cls.class_len = src->cls.class_len; dst->cls.class_len = src->cls.class_len;
dst->cls.method_len = src->cls.method_len; dst->cls.method_len = src->cls.method_len;
dst->cls.indata_len = cpu_to_le32(src->cls.request_data_len); dst->cls.indata_len = cpu_to_le32(src->cls.request_data_len);
ceph_osdc_msg_data_set(req->r_reply, &src->cls.response_data); ceph_osdc_msg_data_add(req->r_reply, &src->cls.response_data);
ceph_osdc_msg_data_set(req->r_request, &src->cls.request_info); ceph_osdc_msg_data_add(req->r_request, &src->cls.request_info);
BUG_ON(src->cls.request_info.type != BUG_ON(src->cls.request_info.type !=
CEPH_OSD_DATA_TYPE_PAGELIST); CEPH_OSD_DATA_TYPE_PAGELIST);
request_data_len = src->cls.request_info.pagelist->length; request_data_len = src->cls.request_info.pagelist->length;
......
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