diff options
author | Ilya Dryomov <ilya.dryomov@inktank.com> | 2014-06-19 11:38:13 +0400 |
---|---|---|
committer | Ilya Dryomov <ilya.dryomov@inktank.com> | 2014-07-08 15:08:44 +0400 |
commit | c9f9b93ddfd76498fe36d9f550bd26533a4ee6bf (patch) | |
tree | bc0fb9ea84b6705f82c4858e24ff5bc93b8c2000 /include/linux/ceph | |
parent | 4f23409e0c787be1a501527c79578833567a1e58 (diff) | |
download | linux-c9f9b93ddfd76498fe36d9f550bd26533a4ee6bf.tar.gz linux-c9f9b93ddfd76498fe36d9f550bd26533a4ee6bf.tar.bz2 linux-c9f9b93ddfd76498fe36d9f550bd26533a4ee6bf.zip |
libceph: introduce ceph_osdc_cancel_request()
Introduce ceph_osdc_cancel_request() intended for canceling requests
from the higher layers (rbd and cephfs). Because higher layers are in
charge and are supposed to know what and when they are canceling, the
request is not completed, only unref'ed and removed from the libceph
data structures.
__cancel_request() is no longer called before __unregister_request(),
because __unregister_request() unconditionally revokes r_request and
there is no point in trying to do it twice.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Diffstat (limited to 'include/linux/ceph')
-rw-r--r-- | include/linux/ceph/osd_client.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index a8d5652f589d..de09cad7b7c7 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h @@ -334,6 +334,7 @@ extern void ceph_osdc_put_request(struct ceph_osd_request *req); extern int ceph_osdc_start_request(struct ceph_osd_client *osdc, struct ceph_osd_request *req, bool nofail); +extern void ceph_osdc_cancel_request(struct ceph_osd_request *req); extern int ceph_osdc_wait_request(struct ceph_osd_client *osdc, struct ceph_osd_request *req); extern void ceph_osdc_sync(struct ceph_osd_client *osdc); |