The alignment used for reading data into or out of pages used to be taken from the data_off field in the message header. This only worked as long as the page alignment matched the object offset, breaking direct io to non-page aligned offsets. Instead, explicitly specify the page alignment next to the page vector in the ceph_msg struct, and use that instead of the message header (which probably shouldn't be trusted). The alloc_msg callback is responsible for filling in this field properly when it sets up the page vector. Signed-off-by: Sage Weil <sage@newdream.net> |
||
|---|---|---|
| .. | ||
| auth.h | ||
| buffer.h | ||
| ceph_debug.h | ||
| ceph_frag.h | ||
| ceph_fs.h | ||
| ceph_hash.h | ||
| debugfs.h | ||
| decode.h | ||
| libceph.h | ||
| mdsmap.h | ||
| messenger.h | ||
| mon_client.h | ||
| msgpool.h | ||
| msgr.h | ||
| osd_client.h | ||
| osdmap.h | ||
| pagelist.h | ||
| rados.h | ||
| types.h | ||