summaryrefslogtreecommitdiff
path: root/include/linux/ceph
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-04-05 10:27:12 +0400
committerSage Weil <sage@inktank.com>2013-05-02 08:18:25 +0400
commit5476492fba9fd0b4118aacf5b924dd29b8cca56c (patch)
treee012b546f1f0d33bd016f8af278f79e4ae1df4da /include/linux/ceph
parentec9123c56787fa7fb2608f05b19d21c5e1912d87 (diff)
downloadlinux-5476492fba9fd0b4118aacf5b924dd29b8cca56c.tar.xz
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 {
u64 offset, length;
u64 truncate_size;
u32 truncate_seq;
- struct ceph_osd_data *osd_data;
+ struct ceph_osd_data osd_data;
} extent;
struct {
const char *class_name;
const char *method_name;
const void *request_data;
- struct ceph_osd_data *request_info;
- struct ceph_osd_data *response_data;
+ struct ceph_osd_data request_info;
+ struct ceph_osd_data response_data;
u32 request_data_len;
__u8 class_len;
__u8 method_len;
@@ -164,9 +164,6 @@ struct ceph_osd_request {
struct ceph_file_layout r_file_layout;
struct ceph_snap_context *r_snapc; /* snap context for writes */
-
- struct ceph_osd_data r_data_in;
- struct ceph_osd_data r_data_out;
};
struct ceph_osd_event {