optimize share size check

Change-Id: I1685e92a2e1baccbbefde31a4b28046768846eec
This commit is contained in:
haixin 2020-12-08 19:49:20 +08:00 committed by Goutham Pacha Ravi
parent faf44b54dc
commit 2cdcc5cf2b
1 changed files with 3 additions and 10 deletions

View File

@ -199,20 +199,13 @@ class API(base.Base):
else:
snapshot = None
def as_int(s):
try:
return int(s)
except (ValueError, TypeError):
return s
# tolerate size as stringified int
size = as_int(size)
if not isinstance(size, int) or size <= 0:
if not strutils.is_int_like(size) or int(size) <= 0:
msg = (_("Share size '%s' must be an integer and greater than 0")
% size)
raise exception.InvalidInput(reason=msg)
# make sure size has been convert to int.
size = int(size)
if snapshot and size < snapshot['size']:
msg = (_("Share size '%s' must be equal or greater "
"than snapshot size") % size)