aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ceph
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-04-05 01:27:12 -0500
committerSage Weil <sage@inktank.com>2013-05-01 21:18:19 -0700
commit5f562df5f59340eae4272501b974903f48d2ad92 (patch)
tree6dccede3254a6878526da788febbddd8eac27462 /include/linux/ceph
parentrbd: rearrange some code for consistency (diff)
downloadlinux-dev-5f562df5f59340eae4272501b974903f48d2ad92.tar.xz
linux-dev-5f562df5f59340eae4272501b974903f48d2ad92.zip
libceph: format class info at init time
An object class method is formatted using a pagelist which contains the class name, the method name, and the data concatenated into an osd request's outbound data. Currently when a class op is initialized in osd_req_op_cls_init(), the lengths of and pointers to these three items are recorded. Later, when the op is getting formatted into the request message, a new pagelist is created and that is when these items get copied into the pagelist. This patch makes it so the pagelist to hold these items is created when the op is initialized instead. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'include/linux/ceph')
-rw-r--r--include/linux/ceph/osd_client.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h
index 144d57cbef9e..71c41575646d 100644
--- a/include/linux/ceph/osd_client.h
+++ b/include/linux/ceph/osd_client.h
@@ -93,8 +93,9 @@ struct ceph_osd_req_op {
const char *class_name;
const char *method_name;
const void *request_data;
- u32 request_data_len;
+ struct ceph_osd_data *request_info;
struct ceph_osd_data *response_data;
+ u32 request_data_len;
__u8 class_len;
__u8 method_len;
__u8 argc;