summaryrefslogtreecommitdiffstats
path: root/include/linux/ceph
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-03-06 23:39:39 -0600
committerSage Weil <sage@inktank.com>2013-05-01 21:16:59 -0700
commit6aaa4511deb4b0fd776d1153dc63a89cdc024fb8 (patch)
tree455fb4334de3518e411daaa7e3ff1d9aef187cd8 /include/linux/ceph
parent7fe1e5e57b84eab98ff352519aa66e86dac5bf61 (diff)
downloadlinux-6aaa4511deb4b0fd776d1153dc63a89cdc024fb8.tar.gz
linux-6aaa4511deb4b0fd776d1153dc63a89cdc024fb8.tar.bz2
linux-6aaa4511deb4b0fd776d1153dc63a89cdc024fb8.zip
libceph: implement bio message data item cursor
Implement and use cursor routines for bio message data items for outbound message data. (See the previous commit for reasoning in support of the changes in out_msg_pos_next().) 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/messenger.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
index 716c3fdeb257..76b4645e2dff 100644
--- a/include/linux/ceph/messenger.h
+++ b/include/linux/ceph/messenger.h
@@ -98,6 +98,13 @@ static __inline__ bool ceph_msg_data_type_valid(enum ceph_msg_data_type type)
struct ceph_msg_data_cursor {
bool last_piece; /* now at last piece of data item */
union {
+#ifdef CONFIG_BLOCK
+ struct { /* bio */
+ struct bio *bio; /* bio from list */
+ unsigned int vector_index; /* vector from bio */
+ unsigned int vector_offset; /* bytes from vector */
+ };
+#endif /* CONFIG_BLOCK */
struct { /* pagelist */
struct page *page; /* page from list */
size_t offset; /* bytes from list */