Subtask #4401
closedFeature #3761: kernel messenger: need to support multiple ops per request
Subtask #4125: kernel messenger: support multiple sources of data
libceph: record bytes not page count fore requests
0%
Description
In working through implementing a cursor to traverse
multiple hunks of data for a message I discovered that
while a page count was recorded for osd requests, but
it wasn't really what I needed for walking through a
page array correctly. So instead I made the size in
bytes of the data in a page array get recorded. From
that, and from the alignment, it's possible to derive
the number of pages in the array.
I just posted two patches for review connected to this.
I'm only now getting around to documenting this in an
issue (sorry Ian).
[PATCH 2/7] libceph: set page info with byte length
When setting page array information for message data, provide the
byte length rather than the page count ceph_msg_data_set_pages().
Signed-off-by: Alex Elder <elder@inktank.com>
[PATCH 5/7] libceph: record message data byte length
Record the number of bytes of data in a page array rather than the
number of pages in the array. It can be assumed that the page array
is of sufficient size to hold the number of bytes indicated (and
offset by the indicated alignment).
Signed-off-by: Alex Elder <elder@inktank.com>
Updated by Alex Elder about 11 years ago
- Status changed from Fix Under Review to Resolved
- Translation missing: en.field_remaining_hours set to 0.00
Josh reviewed these and they have now been committed
to the testing branch:
c9582368 libceph: record byte count not page count
e7817c8 libceph: set page info with byte length
1ec4a63 libceph: record message data byte length