This fix makes the updating of the _mounted_shares list in
remoteFS more of an atomic operation. Previously this list
would be cleared, then rebuilt. That allowed a race
condition where operations that took place during this
update would have a list of 0 shares to work with.
Change-Id: I740d8f1b87db911242326a38ff398b81c5974cea
Closes-Bug: #
1366083
"""Look for remote shares in the flags and tries to mount them
locally.
"""
- self._mounted_shares = []
+ mounted_shares = []
self._load_shares_config(getattr(self.configuration,
self.driver_prefix +
for share in self.shares.keys():
try:
self._ensure_share_mounted(share)
- self._mounted_shares.append(share)
+ mounted_shares.append(share)
except Exception as exc:
LOG.warning(_('Exception during mounting %s') % (exc,))
+ self._mounted_shares = mounted_shares
+
LOG.debug('Available shares %s' % self._mounted_shares)
def create_cloned_volume(self, volume, src_vref):