diff options
-rw-r--r-- | include/linux/ceph/osd_client.h | 4 | ||||
-rw-r--r-- | net/ceph/osd_client.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index bcf3f72ec3f8..cf0ba93426da 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h | |||
@@ -53,6 +53,7 @@ struct ceph_osd { | |||
53 | enum ceph_osd_data_type { | 53 | enum ceph_osd_data_type { |
54 | CEPH_OSD_DATA_TYPE_NONE, | 54 | CEPH_OSD_DATA_TYPE_NONE, |
55 | CEPH_OSD_DATA_TYPE_PAGES, | 55 | CEPH_OSD_DATA_TYPE_PAGES, |
56 | CEPH_OSD_DATA_TYPE_PAGELIST, | ||
56 | #ifdef CONFIG_BLOCK | 57 | #ifdef CONFIG_BLOCK |
57 | CEPH_OSD_DATA_TYPE_BIO, | 58 | CEPH_OSD_DATA_TYPE_BIO, |
58 | #endif /* CONFIG_BLOCK */ | 59 | #endif /* CONFIG_BLOCK */ |
@@ -68,8 +69,9 @@ struct ceph_osd_data { | |||
68 | bool pages_from_pool; | 69 | bool pages_from_pool; |
69 | bool own_pages; | 70 | bool own_pages; |
70 | }; | 71 | }; |
72 | struct ceph_pagelist *pagelist; | ||
71 | #ifdef CONFIG_BLOCK | 73 | #ifdef CONFIG_BLOCK |
72 | struct bio *bio; | 74 | struct bio *bio; |
73 | #endif /* CONFIG_BLOCK */ | 75 | #endif /* CONFIG_BLOCK */ |
74 | }; | 76 | }; |
75 | }; | 77 | }; |
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index ce34faaa453f..4159df2d67af 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c | |||
@@ -1757,6 +1757,9 @@ static void ceph_osdc_msg_data_set(struct ceph_msg *msg, | |||
1757 | if (osd_data->length) | 1757 | if (osd_data->length) |
1758 | ceph_msg_data_set_pages(msg, osd_data->pages, | 1758 | ceph_msg_data_set_pages(msg, osd_data->pages, |
1759 | osd_data->length, osd_data->alignment); | 1759 | osd_data->length, osd_data->alignment); |
1760 | } else if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGELIST) { | ||
1761 | BUG_ON(!osd_data->pagelist->length); | ||
1762 | ceph_msg_data_set_pagelist(msg, osd_data->pagelist); | ||
1760 | #ifdef CONFIG_BLOCK | 1763 | #ifdef CONFIG_BLOCK |
1761 | } else if (osd_data->type == CEPH_OSD_DATA_TYPE_BIO) { | 1764 | } else if (osd_data->type == CEPH_OSD_DATA_TYPE_BIO) { |
1762 | ceph_msg_data_set_bio(msg, osd_data->bio); | 1765 | ceph_msg_data_set_bio(msg, osd_data->bio); |