|
@@ -1798,21 +1798,24 @@ class Archiver:
|
|
|
def repo_validate(section, name, value=None, check_value=True):
|
|
|
if section not in ['repository', ]:
|
|
|
raise ValueError('Invalid section')
|
|
|
- if name in ['segments_per_dir', 'max_segment_size', 'storage_quota', ]:
|
|
|
+ if name in ['segments_per_dir', ]:
|
|
|
if check_value:
|
|
|
try:
|
|
|
int(value)
|
|
|
except ValueError:
|
|
|
raise ValueError('Invalid value') from None
|
|
|
- if name == 'max_segment_size':
|
|
|
- if int(value) >= MAX_SEGMENT_SIZE_LIMIT:
|
|
|
- raise ValueError('Invalid value: max_segment_size >= %d' % MAX_SEGMENT_SIZE_LIMIT)
|
|
|
- elif name in ['additional_free_space', ]:
|
|
|
+ elif name in ['max_segment_size', 'additional_free_space', 'storage_quota', ]:
|
|
|
if check_value:
|
|
|
try:
|
|
|
parse_file_size(value)
|
|
|
except ValueError:
|
|
|
raise ValueError('Invalid value') from None
|
|
|
+ if name == 'storage_quota':
|
|
|
+ if parse_file_size(value) < parse_file_size('10M'):
|
|
|
+ raise ValueError('Invalid value: storage_quota < 10M')
|
|
|
+ elif name == 'max_segment_size':
|
|
|
+ if parse_file_size(value) >= MAX_SEGMENT_SIZE_LIMIT:
|
|
|
+ raise ValueError('Invalid value: max_segment_size >= %d' % MAX_SEGMENT_SIZE_LIMIT)
|
|
|
elif name in ['append_only', ]:
|
|
|
if check_value and value not in ['0', '1']:
|
|
|
raise ValueError('Invalid value')
|