aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/ceph/messenger.h5
-rw-r--r--net/ceph/messenger.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
index cdeebae03e0..4fb870a5b5f 100644
--- a/include/linux/ceph/messenger.h
+++ b/include/linux/ceph/messenger.h
@@ -116,7 +116,10 @@ struct ceph_msg_data {
enum ceph_msg_data_type type;
union {
#ifdef CONFIG_BLOCK
- struct bio *bio;
+ struct {
+ struct bio *bio;
+ size_t bio_length;
+ };
#endif /* CONFIG_BLOCK */
struct {
struct page **pages; /* NOT OWNER. */
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index cb5b4e6733f..731bb9efa2c 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,
data = ceph_msg_data_create(CEPH_MSG_DATA_BIO);
BUG_ON(!data);
data->bio = bio;
+ data->bio_length = length;
msg->data = data;
msg->data_length = length;