aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ceph
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-04-05 02:27:12 -0400
committerSage Weil <sage@inktank.com>2013-05-02 00:18:25 -0400
commit5476492fba9fd0b4118aacf5b924dd29b8cca56c (patch)
treee012b546f1f0d33bd016f8af278f79e4ae1df4da /include/linux/ceph
parentec9123c56787fa7fb2608f05b19d21c5e1912d87 (diff)
libceph: kill off osd request r_data_in and r_data_out
Finally! Convert the osd op data pointers into real structures, and make the switch over to using them instead of having all ops share the in and/or out data structures in the osd request. Set up a new function to traverse the set of ops and release any data associated with them (pages). This and the patches leading up to it resolve: http://tracker.ceph.com/issues/4657 Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'include/linux/ceph')
-rw-r--r--include/linux/ceph/osd_client.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h
index dd4ca4ba8cab..4ec46c0ceaf7 100644
--- a/include/linux/ceph/osd_client.h
+++ b/include/linux/ceph/osd_client.h
@@ -87,14 +87,14 @@ struct ceph_osd_req_op {
87 u64 offset, length; 87 u64 offset, length;
88 u64 truncate_size; 88 u64 truncate_size;
89 u32 truncate_seq; 89 u32 truncate_seq;
90 struct ceph_osd_data *osd_data; 90 struct ceph_osd_data osd_data;
91 } extent; 91 } extent;
92 struct { 92 struct {
93 const char *class_name; 93 const char *class_name;
94 const char *method_name; 94 const char *method_name;
95 const void *request_data; 95 const void *request_data;
96 struct ceph_osd_data *request_info; 96 struct ceph_osd_data request_info;
97 struct ceph_osd_data *response_data; 97 struct ceph_osd_data response_data;
98 u32 request_data_len; 98 u32 request_data_len;
99 __u8 class_len; 99 __u8 class_len;
100 __u8 method_len; 100 __u8 method_len;
@@ -164,9 +164,6 @@ struct ceph_osd_request {
164 164
165 struct ceph_file_layout r_file_layout; 165 struct ceph_file_layout r_file_layout;
166 struct ceph_snap_context *r_snapc; /* snap context for writes */ 166 struct ceph_snap_context *r_snapc; /* snap context for writes */
167
168 struct ceph_osd_data r_data_in;
169 struct ceph_osd_data r_data_out;
170}; 167};
171 168
172struct ceph_osd_event { 169struct ceph_osd_event {