storage/lvm: fix Volume.verify()

This function is supposed to raise an exception if something is wrong,
not just return False. Document this.
This commit is contained in:
Marek Marczykowski-Górecki 2017-10-16 00:43:10 +02:00
parent 021047f950
commit 145ccfb34e
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724
2 changed files with 16 additions and 3 deletions

View File

@ -276,6 +276,9 @@ class Volume(object):
def verify(self):
''' Verifies the volume.
This function is supposed to either return :py:obj:`True`, or raise
an exception.
This can be implemented as a coroutine.'''
raise self._not_implemented("verify")

View File

@ -455,11 +455,21 @@ class ThinVolume(qubes.storage.Volume):
def verify(self):
''' Verifies the volume. '''
if not self.save_on_stop and not self.snap_on_start:
# volatile volumes don't need any files
return True
if self.source is not None:
vid = str(self.source)
else:
vid = self.vid
try:
vol_info = size_cache[self.vid]
return vol_info['attr'][4] == 'a'
vol_info = size_cache[vid]
if vol_info['attr'][4] != 'a':
raise qubes.storage.StoragePoolException(
'volume {} not active'.format(vid))
except KeyError:
return False
raise qubes.storage.StoragePoolException(
'volume {} missing'.format(vid))
def block_device(self):