diff options
| author | Alex Elder <elder@inktank.com> | 2012-06-01 15:56:43 -0400 |
|---|---|---|
| committer | Alex Elder <elder@dreamhost.com> | 2012-06-06 10:23:54 -0400 |
| commit | 38941f8031bf042dba3ced6394ba3a3b16c244ea (patch) | |
| tree | 575613cf05d5a0f652fb0cd337d110590c465cb2 /include/linux/ceph | |
| parent | 1c20f2d26795803fc4f5155fe4fca5717a5944b6 (diff) | |
libceph: have messages point to their connection
When a ceph message is queued for sending it is placed on a list of
pending messages (ceph_connection->out_queue). When they are
actually sent over the wire, they are moved from that list to
another (ceph_connection->out_sent). When acknowledgement for the
message is received, it is removed from the sent messages list.
During that entire time the message is "in the possession" of a
single ceph connection. Keep track of that connection in the
message. This will be used in the next patch (and is a helpful
bit of information for debugging anyway).
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'include/linux/ceph')
| -rw-r--r-- | include/linux/ceph/messenger.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h index dd27837f79ac..6df837f72761 100644 --- a/include/linux/ceph/messenger.h +++ b/include/linux/ceph/messenger.h | |||
| @@ -77,7 +77,10 @@ struct ceph_msg { | |||
| 77 | unsigned nr_pages; /* size of page array */ | 77 | unsigned nr_pages; /* size of page array */ |
| 78 | unsigned page_alignment; /* io offset in first page */ | 78 | unsigned page_alignment; /* io offset in first page */ |
| 79 | struct ceph_pagelist *pagelist; /* instead of pages */ | 79 | struct ceph_pagelist *pagelist; /* instead of pages */ |
| 80 | |||
| 81 | struct ceph_connection *con; | ||
| 80 | struct list_head list_head; | 82 | struct list_head list_head; |
| 83 | |||
| 81 | struct kref kref; | 84 | struct kref kref; |
| 82 | struct bio *bio; /* instead of pages/pagelist */ | 85 | struct bio *bio; /* instead of pages/pagelist */ |
| 83 | struct bio *bio_iter; /* bio iterator */ | 86 | struct bio *bio_iter; /* bio iterator */ |
