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>
This commit is contained in:
Alex Elder
2013-03-14 14:09:06 -05:00
committed by Sage Weil
parent 36153ec9dd
commit 8ae4f4f5c0
2 changed files with 59 additions and 62 deletions

View File

@@ -104,13 +104,13 @@ struct ceph_msg_data {
};
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 */