]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.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)
committerAlex Elder <elder@inktank.com>
Tue, 9 Apr 2013 01:25:39 +0000 (20:25 -0500)
commit51122dd2ff9bf6a5ac1e00ebffaaebed3ddff607
tree659e5e8f383988fbe8e003bb07c5b35eb3d94c47
parent436b0c06b1c26b74c96e4bf3f1379657fcf7b4aa
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