diff options
Diffstat (limited to 'include/linux/ceph')
-rw-r--r-- | include/linux/ceph/osd_client.h | 19 | ||||
-rw-r--r-- | include/linux/ceph/rados.h | 38 |
2 files changed, 18 insertions, 39 deletions
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index ad8899fc3157..1dd5d466b6f9 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h | |||
@@ -47,6 +47,9 @@ struct ceph_osd { | |||
47 | struct list_head o_keepalive_item; | 47 | struct list_head o_keepalive_item; |
48 | }; | 48 | }; |
49 | 49 | ||
50 | |||
51 | #define CEPH_OSD_MAX_OP 10 | ||
52 | |||
50 | /* an in-flight request */ | 53 | /* an in-flight request */ |
51 | struct ceph_osd_request { | 54 | struct ceph_osd_request { |
52 | u64 r_tid; /* unique for this client */ | 55 | u64 r_tid; /* unique for this client */ |
@@ -63,9 +66,23 @@ struct ceph_osd_request { | |||
63 | struct ceph_connection *r_con_filling_msg; | 66 | struct ceph_connection *r_con_filling_msg; |
64 | 67 | ||
65 | struct ceph_msg *r_request, *r_reply; | 68 | struct ceph_msg *r_request, *r_reply; |
66 | int r_result; | ||
67 | int r_flags; /* any additional flags for the osd */ | 69 | int r_flags; /* any additional flags for the osd */ |
68 | u32 r_sent; /* >0 if r_request is sending/sent */ | 70 | u32 r_sent; /* >0 if r_request is sending/sent */ |
71 | int r_num_ops; | ||
72 | |||
73 | /* encoded message content */ | ||
74 | struct ceph_osd_op *r_request_ops; | ||
75 | /* these are updated on each send */ | ||
76 | __le32 *r_request_osdmap_epoch; | ||
77 | __le32 *r_request_flags; | ||
78 | __le64 *r_request_pool; | ||
79 | void *r_request_pgid; | ||
80 | __le32 *r_request_attempts; | ||
81 | struct ceph_eversion *r_request_reassert_version; | ||
82 | |||
83 | int r_result; | ||
84 | int r_reply_op_len[CEPH_OSD_MAX_OP]; | ||
85 | s32 r_reply_op_result[CEPH_OSD_MAX_OP]; | ||
69 | int r_got_reply; | 86 | int r_got_reply; |
70 | int r_linger; | 87 | int r_linger; |
71 | 88 | ||
diff --git a/include/linux/ceph/rados.h b/include/linux/ceph/rados.h index d784c8dfb09a..68c96a508ac2 100644 --- a/include/linux/ceph/rados.h +++ b/include/linux/ceph/rados.h | |||
@@ -416,43 +416,5 @@ struct ceph_osd_op { | |||
416 | __le32 payload_len; | 416 | __le32 payload_len; |
417 | } __attribute__ ((packed)); | 417 | } __attribute__ ((packed)); |
418 | 418 | ||
419 | /* | ||
420 | * osd request message header. each request may include multiple | ||
421 | * ceph_osd_op object operations. | ||
422 | */ | ||
423 | struct ceph_osd_request_head { | ||
424 | __le32 client_inc; /* client incarnation */ | ||
425 | struct ceph_object_layout layout; /* pgid */ | ||
426 | __le32 osdmap_epoch; /* client's osdmap epoch */ | ||
427 | |||
428 | __le32 flags; | ||
429 | |||
430 | struct ceph_timespec mtime; /* for mutations only */ | ||
431 | struct ceph_eversion reassert_version; /* if we are replaying op */ | ||
432 | |||
433 | __le32 object_len; /* length of object name */ | ||
434 | |||
435 | __le64 snapid; /* snapid to read */ | ||
436 | __le64 snap_seq; /* writer's snap context */ | ||
437 | __le32 num_snaps; | ||
438 | |||
439 | __le16 num_ops; | ||
440 | struct ceph_osd_op ops[]; /* followed by ops[], obj, ticket, snaps */ | ||
441 | } __attribute__ ((packed)); | ||
442 | |||
443 | struct ceph_osd_reply_head { | ||
444 | __le32 client_inc; /* client incarnation */ | ||
445 | __le32 flags; | ||
446 | struct ceph_object_layout layout; | ||
447 | __le32 osdmap_epoch; | ||
448 | struct ceph_eversion reassert_version; /* for replaying uncommitted */ | ||
449 | |||
450 | __le32 result; /* result code */ | ||
451 | |||
452 | __le32 object_len; /* length of object name */ | ||
453 | __le32 num_ops; | ||
454 | struct ceph_osd_op ops[0]; /* ops[], object */ | ||
455 | } __attribute__ ((packed)); | ||
456 | |||
457 | 419 | ||
458 | #endif | 420 | #endif |