Since there's no synchronized access to configfs in rtslib it can happen
that rtstool or rtslib access an element that no longer exists because
it has been removed just in the middle of a loop by another Cinder
request.
This results in quite a different number of exceptions:
- .dump()
- KeyError
- IOError
- RTSLibError on storage_object
This patch synchronizes access to all rtstool calls that access or
modify configfs using utils.synchronized decorator.
Reviewed: https:/ /review. openstack. org/187260 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=45c282afb44 2aec80cf24d226b ef5ebb46963026
Committed: https:/
Submitter: Jenkins
Branch: master
commit 45c282afb442aec 80cf24d226bef5e bb46963026
Author: Gorka Eguileor <email address hidden>
Date: Mon Jun 1 18:30:01 2015 +0200
Fix cinder concurrency issues on rtstool
Since there's no synchronized access to configfs in rtslib it can happen
that rtstool or rtslib access an element that no longer exists because
it has been removed just in the middle of a loop by another Cinder
request.
This results in quite a different number of exceptions:
- .dump()
- KeyError
- IOError
- RTSLibError on storage_object
This patch synchronizes access to all rtstool calls that access or
modify configfs using utils.synchronized decorator.
Change-Id: I341a10da54ab01 be68a0cae843f35 e5c841c6d81
Closes-Bug: #1460692