mirror_ubuntu-kernels/include/linux/ceph
Alex Elder 25aff7c559 libceph: record residual bytes for all message data types
All of the data types can use this, not just the page array.  Until
now, only the bio type doesn't have it available, and only the
initiator of the request (the rbd client) is able to supply the
length of the full request without re-scanning the bio list.  Change
the cursor init routines so the length is supplied based on the
message header "data_len" field, and use that length to intiialize
the "resid" field of the cursor.

In addition, change the way "last_piece" is defined so it is based
on the residual number of bytes in the original request.  This is
necessary (at least for bio messages) because it is possible for
a read request to succeed without consuming all of the space
available in the data buffer.

This resolves:
    http://tracker.ceph.com/issues/4427

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-05-01 21:17:24 -07:00
..
auth.h libceph: wrap auth methods in a mutex 2013-05-01 21:17:15 -07:00
buffer.h
ceph_debug.h
ceph_features.h libceph: implement RECONNECT_SEQ feature 2013-05-01 21:17:09 -07:00
ceph_frag.h
ceph_fs.h libceph: update ceph_fs.h 2013-02-18 12:20:30 -06:00
ceph_hash.h
debugfs.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
decode.h Merge branch 'testing' of github.com:ceph/ceph-client into v3.8-rc5-testing 2013-01-30 07:54:34 -06:00
libceph.h libceph: define CEPH_MSG_MAX_MIDDLE_LEN 2013-05-01 21:16:29 -07:00
mdsmap.h ceph: update support for PGID64, PGPOOL3, OSDENC protocol features 2013-02-26 15:02:25 -08:00
messenger.h libceph: record residual bytes for all message data types 2013-05-01 21:17:24 -07:00
mon_client.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2012-10-08 06:38:18 +09:00
msgpool.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
msgr.h libceph: implement RECONNECT_SEQ feature 2013-05-01 21:17:09 -07:00
osd_client.h libceph: kill osd request r_trail 2013-05-01 21:17:04 -07:00
osdmap.h libceph: rename ceph_calc_object_layout() 2013-05-01 21:16:17 -07:00
pagelist.h
rados.h libceph: update osd request/reply encoding 2013-02-26 15:02:50 -08:00
types.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00