• Alex Elder's avatar
    libceph: pass length to ceph_calc_file_object_mapping() · e8afad65
    Alex Elder authored
    ceph_calc_file_object_mapping() takes (among other things) a "file"
    offset and length, and based on the layout, determines the object
    number ("bno") backing the affected portion of the file's data and
    the offset into that object where the desired range begins.  It also
    computes the size that should be used for the request--either the
    amount requested or something less if that would exceed the end of
    the object.
    
    This patch changes the input length parameter in this function so it
    is used only for input.  That is, the argument will be passed by
    value rather than by address, so the value provided won't get
    updated by the function.
    
    The value would only get updated if the length would surpass the
    current object, and in that case the value it got updated to would
    be exactly that returned in *oxlen.
    
    Only one of the two callers is affected by this change.  Update
    ceph_calc_raw_layout() so it records any updated value.
    Signed-off-by: default avatarAlex Elder <elder@inktank.com>
    Reviewed-by: default avatarJosh Durgin <josh.durgin@inktank.com>
    e8afad65
ioctl.c 7.42 KB