]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: make method call data be a separate data item
authorAlex Elder <elder@inktank.com>
Fri, 5 Apr 2013 19:46:02 +0000 (14:46 -0500)
committerSage Weil <sage@inktank.com>
Thu, 2 May 2013 04:18:35 +0000 (21:18 -0700)
commitd2f891b556421d73f94e1cc7c0bc1169c4162c03
tree09bd1c613cf85e4410755e2931cf3c21fa5da488
parent5fe660d410d3c09ec04b0171fefcbc46c2f67a3d
libceph: make method call data be a separate data item

Right now the data for a method call is specified via a pointer and
length, and it's copied--along with the class and method name--into
a pagelist data item to be sent to the osd.  Instead, encode the
data in a data item separate from the class and method names.

This will allow large amounts of data to be supplied to methods
without copying.  Only rbd uses the class functionality right now,
and when it really needs this it will probably need to use a page
array rather than a page list.  But this simple implementation
demonstrates the functionality on the osd client, and that's enough
for now.

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

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
drivers/block/rbd.c
include/linux/ceph/osd_client.h
net/ceph/osd_client.c