aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-03-08 14:35:36 -0500
committerSage Weil <sage@inktank.com>2013-05-02 00:17:04 -0400
commit95e072eb38f99c724739d91a1f12bb8bfe1619b5 (patch)
tree8408a57ce11d519590850ddeb3479a0d15d4371a /include/linux
parent9a5e6d09ddd0cd68ce64c3aa54095e4a0e85b089 (diff)
libceph: kill osd request r_trail
The osd trail is a pagelist, used only for a CALL osd operation to hold the class and method names, along with any input data for the call. It is only currently used by the rbd client, and when it's used it is the only bit of outbound data in the osd request. Since we already support (non-trail) pagelist data in a message, we can just save this outbound CALL data in the "normal" pagelist rather than the trail, and get rid of the trail entirely. The existing pagelist support depends on the pagelist being dynamically allocated, and ownership of it is passed to the messenger once it's been attached to a message. (That is to say, the messenger releases and frees the pagelist when it's done with it). That means we need to dynamically allocate the pagelist also. Note that we simply assert that the allocation of a pagelist structure succeeds. Appending to a pagelist might require a dynamic allocation, so we're already assuming we won't run into trouble doing so (we're just ignore any failures--and that should be fixed at some point). This resolves: http://tracker.ceph.com/issues/4407 Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ceph/osd_client.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h
index cf0ba93426da..1dab291b2dc6 100644
--- a/include/linux/ceph/osd_client.h
+++ b/include/linux/ceph/osd_client.h
@@ -134,7 +134,6 @@ struct ceph_osd_request {
134 134
135 struct ceph_osd_data r_data_in; 135 struct ceph_osd_data r_data_in;
136 struct ceph_osd_data r_data_out; 136 struct ceph_osd_data r_data_out;
137 struct ceph_pagelist r_trail; /* trailing part of data out */
138}; 137};
139 138
140struct ceph_osd_event { 139struct ceph_osd_event {