Federico Simoncelli has uploaded a new change for review.
Change subject: task: add the support for abortEvent ......................................................................
task: add the support for abortEvent
Change-Id: Ib82289e28e5ad9ea142850c31ccff3366b8397dc Signed-off-by: Federico Simoncelli fsimonce@redhat.com --- M vdsm/storage/task.py 1 file changed, 5 insertions(+), 0 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/89/33689/1
diff --git a/vdsm/storage/task.py b/vdsm/storage/task.py index cc1d85e..97c30bf 100644 --- a/vdsm/storage/task.py +++ b/vdsm/storage/task.py @@ -58,6 +58,7 @@ from threadLocal import vars from weakref import proxy from vdsm.config import config +from vdsm.eventfd import EventFile import outOfProcess as oop from logUtils import SimpleLogAdapter
@@ -488,6 +489,7 @@
self.mng = None self._aborting = False + self.abortEvent = EventFile() self._forceAbort = False self.ref = 0
@@ -544,6 +546,7 @@ def __state_aborting(self, fromState): if self.ref > 1: return + self.abortEvent.set() self.log.debug("_aborting: recover policy %s", self.recoveryPolicy) if self.recoveryPolicy == TaskRecoveryType.auto: self._updateState(State.racquiring) @@ -564,6 +567,7 @@
def __state_raborting(self, fromState): if self.ref == 1: + self.abortEvent.set() self._updateState(State.failed) else: self.log.warn("State was change to 'raborting' " @@ -1225,6 +1229,7 @@ "ignoring", self.state) return
+ self.abortEvent.set() self._aborting = True self._forceAbort = force finally: