Yeela Kaplan has uploaded a new change for review. Change subject: Refresh storage in getDevicesVisibility using forceIScsiRescan ......................................................................
Refresh storage in getDevicesVisibility using forceIScsiRescan Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=766281 Change-Id: Iab94de6c97abec0ccc273a4f050a6b6e6b985fbf Signed-off-by: Yeela Kaplan <[email protected]> --- M vdsm/storage/hsm.py 1 file changed, 14 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/56/8256/1 diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py index a89274a..bf48f7e 100644 --- a/vdsm/storage/hsm.py +++ b/vdsm/storage/hsm.py @@ -35,6 +35,7 @@ import signal import types import math +import stat from vdsm.config import config import sp @@ -1635,6 +1636,7 @@ except KeyError: raise se.DeviceNotFound(str(guid)) + @public def getDevicesVisibility(self, guids, options=None): @@ -1649,14 +1651,23 @@ boolean :rtype: dict """ - import stat - def devVisible(guid): + def _isVisible(guid): try: res = os.stat('/dev/mapper/' + guid).st_mode & stat.S_IRUSR != 0 except: res = False return res - return {'visible' : dict(zip(guids, map(devVisible, guids)))} + + visibility = {} + scanned = False + for guid in guids: + visible = _isVisible(guid) + if not scanned and not visible: + iscsi.forceIScsiScan() + scanned = True + visible = _isVisible(guid) + visibility[guid] = visible + return {'visible' : visibility} @public -- To view, visit http://gerrit.ovirt.org/8256 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iab94de6c97abec0ccc273a4f050a6b6e6b985fbf Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Yeela Kaplan <[email protected]> _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
