summaryrefslogtreecommitdiffstats
path: root/include/linux/ceph
diff options
context:
space:
mode:
authorDouglas Fuller <dfuller@redhat.com>2015-06-17 14:49:45 -0400
committerIlya Dryomov <idryomov@gmail.com>2016-08-24 23:49:15 +0200
commit428a715811fe74e8a8f09b830c8d3b5245096f8d (patch)
treef71c664112b5513b29bf6b3395333a778096f3b8 /include/linux/ceph
parenta4ed38d7a180f184a6e7aedd09db9ca4b1e6a71c (diff)
downloadop-kernel-dev-428a715811fe74e8a8f09b830c8d3b5245096f8d.zip
op-kernel-dev-428a715811fe74e8a8f09b830c8d3b5245096f8d.tar.gz
libceph: add ceph_osdc_call() single-page helper
Add a convenience function to osd_client to send Ceph OSD 'class' ops. The interface assumes that the request and reply data each consist of single pages. Signed-off-by: Douglas Fuller <dfuller@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Mike Christie <mchristi@redhat.com> Reviewed-by: Alex Elder <elder@linaro.org>
Diffstat (limited to 'include/linux/ceph')
-rw-r--r--include/linux/ceph/osd_client.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h
index 19821a1..96337b1 100644
--- a/include/linux/ceph/osd_client.h
+++ b/include/linux/ceph/osd_client.h
@@ -397,6 +397,14 @@ extern void ceph_osdc_sync(struct ceph_osd_client *osdc);
extern void ceph_osdc_flush_notifies(struct ceph_osd_client *osdc);
void ceph_osdc_maybe_request_map(struct ceph_osd_client *osdc);
+int ceph_osdc_call(struct ceph_osd_client *osdc,
+ struct ceph_object_id *oid,
+ struct ceph_object_locator *oloc,
+ const char *class, const char *method,
+ unsigned int flags,
+ struct page *req_page, size_t req_len,
+ struct page *resp_page, size_t *resp_len);
+
extern int ceph_osdc_readpages(struct ceph_osd_client *osdc,
struct ceph_vino vino,
struct ceph_file_layout *layout,
OpenPOWER on IntegriCloud