diff options
author | Alex Elder <elder@inktank.com> | 2013-04-05 15:46:01 -0400 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-05-02 00:18:28 -0400 |
commit | c851c49591ebf000c610711e39eea7da5ff05b21 (patch) | |
tree | 917451c570fae240e1902085a75d7ff970deb981 | |
parent | f759ebb968dbf185fc079dd2e824b1aa3a3d71aa (diff) |
libceph: record bio length
The bio is the only data item type that doesn't record its full
length. Fix that.
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
-rw-r--r-- | include/linux/ceph/messenger.h | 5 | ||||
-rw-r--r-- | net/ceph/messenger.c | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h index cdeebae03e0d..4fb870a5b5fc 100644 --- a/include/linux/ceph/messenger.h +++ b/include/linux/ceph/messenger.h | |||
@@ -116,7 +116,10 @@ struct ceph_msg_data { | |||
116 | enum ceph_msg_data_type type; | 116 | enum ceph_msg_data_type type; |
117 | union { | 117 | union { |
118 | #ifdef CONFIG_BLOCK | 118 | #ifdef CONFIG_BLOCK |
119 | struct bio *bio; | 119 | struct { |
120 | struct bio *bio; | ||
121 | size_t bio_length; | ||
122 | }; | ||
120 | #endif /* CONFIG_BLOCK */ | 123 | #endif /* CONFIG_BLOCK */ |
121 | struct { | 124 | struct { |
122 | struct page **pages; /* NOT OWNER. */ | 125 | struct page **pages; /* NOT OWNER. */ |
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index cb5b4e6733f0..731bb9efa2c6 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c | |||
@@ -3032,6 +3032,7 @@ void ceph_msg_data_set_bio(struct ceph_msg *msg, struct bio *bio, | |||
3032 | data = ceph_msg_data_create(CEPH_MSG_DATA_BIO); | 3032 | data = ceph_msg_data_create(CEPH_MSG_DATA_BIO); |
3033 | BUG_ON(!data); | 3033 | BUG_ON(!data); |
3034 | data->bio = bio; | 3034 | data->bio = bio; |
3035 | data->bio_length = length; | ||
3035 | 3036 | ||
3036 | msg->data = data; | 3037 | msg->data = data; |
3037 | msg->data_length = length; | 3038 | msg->data_length = length; |