Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm...
[deliverable/linux.git] / include / linux / ceph / osd_client.h
index 7506b485bb6d1d4cee0aff00cbe1132d55396071..cbf460927c424b26c76665edca16337eb62ef9a9 100644 (file)
@@ -16,7 +16,6 @@ struct ceph_msg;
 struct ceph_snap_context;
 struct ceph_osd_request;
 struct ceph_osd_client;
-struct ceph_authorizer;
 
 /*
  * completion callback for async writepages
@@ -43,7 +42,8 @@ struct ceph_osd {
 };
 
 
-#define CEPH_OSD_MAX_OP        3
+#define CEPH_OSD_SLAB_OPS      2
+#define CEPH_OSD_MAX_OPS       16
 
 enum ceph_osd_data_type {
        CEPH_OSD_DATA_TYPE_NONE = 0,
@@ -77,7 +77,10 @@ struct ceph_osd_data {
 struct ceph_osd_req_op {
        u16 op;           /* CEPH_OSD_OP_* */
        u32 flags;        /* CEPH_OSD_OP_FLAG_* */
-       u32 payload_len;
+       u32 indata_len;   /* request */
+       u32 outdata_len;  /* reply */
+       s32 rval;
+
        union {
                struct ceph_osd_data raw_data_in;
                struct {
@@ -136,7 +139,6 @@ struct ceph_osd_request {
 
        /* request osd ops array  */
        unsigned int            r_num_ops;
-       struct ceph_osd_req_op  r_ops[CEPH_OSD_MAX_OP];
 
        /* these are updated on each send */
        __le32           *r_request_osdmap_epoch;
@@ -148,8 +150,6 @@ struct ceph_osd_request {
        struct ceph_eversion *r_request_reassert_version;
 
        int               r_result;
-       int               r_reply_op_len[CEPH_OSD_MAX_OP];
-       s32               r_reply_op_result[CEPH_OSD_MAX_OP];
        int               r_got_reply;
        int               r_linger;
 
@@ -174,6 +174,8 @@ struct ceph_osd_request {
        unsigned long     r_stamp;            /* send OR check time */
 
        struct ceph_snap_context *r_snapc;    /* snap context for writes */
+
+       struct ceph_osd_req_op r_ops[];
 };
 
 struct ceph_request_redirect {
@@ -263,6 +265,8 @@ extern void osd_req_op_extent_init(struct ceph_osd_request *osd_req,
                                        u64 truncate_size, u32 truncate_seq);
 extern void osd_req_op_extent_update(struct ceph_osd_request *osd_req,
                                        unsigned int which, u64 length);
+extern void osd_req_op_extent_dup_last(struct ceph_osd_request *osd_req,
+                                      unsigned int which, u64 offset_inc);
 
 extern struct ceph_osd_data *osd_req_op_extent_osd_data(
                                        struct ceph_osd_request *osd_req,
This page took 0.025459 seconds and 5 git commands to generate.