Commit d0bb883c authored by Ilya Dryomov's avatar Ilya Dryomov

libceph: fix misleading ceph_osdc_cancel_request() comment

cancel_request() never guaranteed that after its return the OSD
client would be completely done with the OSD request.  The callback
(if specified) can still be invoked and a ref can still be held.
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
Reviewed-by: default avatarXiubo Li <xiubli@redhat.com>
parent 75dbb685
...@@ -4591,8 +4591,13 @@ int ceph_osdc_start_request(struct ceph_osd_client *osdc, ...@@ -4591,8 +4591,13 @@ int ceph_osdc_start_request(struct ceph_osd_client *osdc,
EXPORT_SYMBOL(ceph_osdc_start_request); EXPORT_SYMBOL(ceph_osdc_start_request);
/* /*
* Unregister a registered request. The request is not completed: * Unregister request. If @req was registered, it isn't completed:
* ->r_result isn't set and __complete_request() isn't called. * r_result isn't set and __complete_request() isn't invoked.
*
* If @req wasn't registered, this call may have raced with
* handle_reply(), in which case r_result would already be set and
* __complete_request() would be getting invoked, possibly even
* concurrently with this call.
*/ */
void ceph_osdc_cancel_request(struct ceph_osd_request *req) void ceph_osdc_cancel_request(struct ceph_osd_request *req)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment