Release Vulpes OS 2.7-preview.24
This commit is contained in:
parent
49572b6b45
commit
97ef99f827
135 changed files with 7717 additions and 2524 deletions
|
|
@ -9,6 +9,18 @@ def mount_table(layout):
|
|||
raise ValueError('Expected Sargo userdata, not another partition')
|
||||
if not re.fullmatch(r'[0-9a-f]{64}', layout.get('firstMiBSha256', '')):
|
||||
raise ValueError('Missing userdata identity checksum')
|
||||
if layout.get('schema') == 2 and layout.get('table') == 'direct':
|
||||
if (layout.get('partitionLabel') != 'userdata' or
|
||||
layout.get('filesystem') != 'ext4' or
|
||||
layout.get('storage') != 'raw-userdata-ext4' or
|
||||
not re.fullmatch(r'[0-9]+:[0-9]+', layout.get('backingDevice', '')) or
|
||||
not re.fullmatch(r'[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}',
|
||||
layout.get('filesystemUuid', ''))):
|
||||
raise ValueError('Direct mapping requires inventoried raw ext4 userdata')
|
||||
size = int(layout.get('size', 0))
|
||||
if size <= 0 or size % 512:
|
||||
raise ValueError('Invalid direct userdata geometry')
|
||||
return None
|
||||
match = re.fullmatch(r'0 ([0-9]+) linear ([0-9]+:[0-9]+) ([0-9]+)',
|
||||
layout.get('table', ''))
|
||||
if not match:
|
||||
|
|
|
|||
Loading…
Reference in a new issue