• Sage Weil's avatar
    ceph: explicitly specify page alignment in network messages · c5c6b19d
    Sage Weil authored
    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: default avatarSage Weil <sage@newdream.net>
    c5c6b19d
messenger.c 60.7 KB