diff options
Diffstat (limited to 'include/linux')
| -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 |
