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/187667 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=223b258be62 eb448728647eb3c 662df331557b0d
Committed: https:/
Submitter: Jenkins
Branch: stable/kilo
commit 223b258be62eb44 8728647eb3c662d f331557b0d
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 80cf24d226bef5e bb46963026) tests/targets/ test_lio_ driver. py
Closes-Bug: #1460692
(cherry picked from commit 45c282afb442aec
Conflicts:
cinder/