Project

General

Profile

Actions

Feature #20768

open

Add API to cancel AIO requiest (for RBD and for Rados). Both for C and for Python.

Added by Марк Коренберг over 6 years ago. Updated almost 6 years ago.

Status:
Need More Info
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:
Actions #1

Updated by Jason Dillaman over 6 years ago

  • Status changed from New to Need More Info

@Марк: The librados C/C++ APIs already have a method to cancel AIO requests (although the request can still be executed on the OSD so there is no guarantee that a successfully canceled op was not executed). What is your use-case that you are trying to achieve?

Actions #2

Updated by Марк Коренберг over 6 years ago

Use case:

I set up many parallel requests. One of them has been completed. I understand that whole operation should be aborted, so I need to abort all started requests.

Same thing in exception handling code (application exit or some unexpected one). If something goes wrong, everything should be stopped/aborted before continuing as fast as possible. Aborting mean calling something that will prevent async completion callback to fire since abort() has been completed.

Actions #3

Updated by Марк Коренберг almost 6 years ago

Jasson Dillaman, What is the name of this method ? does it work for RBD ?

Actions #4

Updated by Марк Коренберг almost 6 years ago

rados_aio_cancel()

But same for rbd is missing. i.e. there is no rbd_aio_cancel()

Actions

Also available in: Atom PDF