libceph: page offset must be less than page size
authorAlex Elder <elder@inktank.com>
Sat, 30 Mar 2013 20:09:59 +0000 (15:09 -0500)
committerSage Weil <sage@inktank.com>
Thu, 2 May 2013 04:17:39 +0000 (21:17 -0700)
commit5df521b1eecf276c4bae8ffb7945acef45530449
treeb6a8434361e786d81b364aa202cc40628eb60b65
parent1190bf06a6b033384a65b5acdb1193d41cd257a6
libceph: page offset must be less than page size

Currently ceph_msg_data_pages_advance() allows the page offset value
to be PAGE_SIZE, apparently assuming ceph_msg_data_pages_next() will
treat it as 0.  But that doesn't happen, and the result led to a
helpful assertion failure.

Change ceph_msg_data_pages_advance() to truncate the offset to 0
before returning if it reaches PAGE_SIZE.

Make a few other minor adjustments in this area (comments and a
better assertion) while modifying it.

This resolves a second issue described in:
    http://tracker.ceph.com/issues/4598

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
net/ceph/messenger.c