summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-03-14 14:09:06 -0500
committerSage Weil <sage@inktank.com>2013-05-01 21:17:57 -0700
commita19308048182d5f9e16b03b1d1c038d9346c7589 (patch)
tree1395d1027753afa2ab5caec1808385f3a68893be /include
parentfdce58ccb5df621695b079378c619046acabc778 (diff)
downloadlinux-a19308048182d5f9e16b03b1d1c038d9346c7589.tar.gz
libceph: record message data length
Keep track of the length of the data portion for a message in a
separate field in the ceph_msg structure.  This information has
been maintained in wire byte order in the message header, but
that's going to change soon.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ceph/messenger.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
index 3181321bed6d..b832c0ce899a 100644
--- a/include/linux/ceph/messenger.h
+++ b/include/linux/ceph/messenger.h
@@ -139,6 +139,7 @@ struct ceph_msg {
 	struct kvec front;              /* unaligned blobs of message */
 	struct ceph_buffer *middle;
 
+	size_t			data_length;
 	struct ceph_msg_data	*data;	/* data payload */
 
 	struct ceph_connection *con;
@@ -270,7 +271,8 @@ extern void ceph_msg_data_set_pages(struct ceph_msg *msg, struct page **pages,
 				size_t length, size_t alignment);
 extern void ceph_msg_data_set_pagelist(struct ceph_msg *msg,
 				struct ceph_pagelist *pagelist);
-extern void ceph_msg_data_set_bio(struct ceph_msg *msg, struct bio *bio);
+extern void ceph_msg_data_set_bio(struct ceph_msg *msg, struct bio *bio,
+				size_t length);
 
 extern struct ceph_msg *ceph_msg_new(int type, int front_len, gfp_t flags,
 				     bool can_fail);