diff options
author | Alex Elder <elder@inktank.com> | 2013-04-05 02:27:12 -0400 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-05-02 00:18:25 -0400 |
commit | 5476492fba9fd0b4118aacf5b924dd29b8cca56c (patch) | |
tree | e012b546f1f0d33bd016f8af278f79e4ae1df4da /include/linux/ceph/osd_client.h | |
parent | ec9123c56787fa7fb2608f05b19d21c5e1912d87 (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/osd_client.h')
-rw-r--r-- | include/linux/ceph/osd_client.h | 9 |
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 | ||
172 | struct ceph_osd_event { | 169 | struct ceph_osd_event { |