libceph: have cursor point to data
Rather than having a ceph message data item point to the cursor it's
associated with, have the cursor point to a data item. This will
allow a message cursor to be used for more than one data item.
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
index e755724..8846ff6 100644
--- a/include/linux/ceph/messenger.h
+++ b/include/linux/ceph/messenger.h
@@ -104,13 +104,13 @@
};
struct ceph_pagelist *pagelist;
};
- struct ceph_msg_data_cursor *cursor;
};
struct ceph_msg_data_cursor {
- size_t resid; /* bytes not yet consumed */
- bool last_piece; /* now at last piece of data item */
- bool need_crc; /* new piece; crc update needed */
+ struct ceph_msg_data *data; /* data item this describes */
+ size_t resid; /* bytes not yet consumed */
+ bool last_piece; /* current is last piece */
+ bool need_crc; /* crc update needed */
union {
#ifdef CONFIG_BLOCK
struct { /* bio */