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>