• Alex Elder's avatar
    libceph: kill last of ceph_msg_pos · f5db90bc
    Alex Elder authored
    The only remaining field in the ceph_msg_pos structure is
    did_page_crc.  In the new cursor model of things that flag (or
    something like it) belongs in the cursor.
    
    Define a new field "need_crc" in the cursor (which applies to all
    types of data) and initialize it to true whenever a cursor is
    initialized.
    
    In write_partial_message_data(), the data CRC still will be computed
    as before, but it will check the cursor->need_crc field to determine
    whether it's needed.  Any time the cursor is advanced to a new piece
    of a data item, need_crc will be set, and this will cause the crc
    for that entire piece to be accumulated into the data crc.
    
    In write_partial_message_data() the intermediate crc value is now
    held in a local variable so it doesn't have to be byte-swapped so
    many times.  In read_partial_msg_data() we do something similar
    (but mainly for consistency there).
    
    With that, the ceph_msg_pos structure can go away,  and it no longer
    needs to be passed as an argument to prepare_message_data().
    
    This cleanup is related to:
        http://tracker.ceph.com/issues/4428Signed-off-by: default avatarAlex Elder <elder@inktank.com>
    Reviewed-by: default avatarJosh Durgin <josh.durgin@inktank.com>
    f5db90bc
messenger.c 79.5 KB