From 5056b8f0d5ab419ddc0a4b0dbb8f2390b1200cf9 Mon Sep 17 00:00:00 2001 From: OpenGnSys Support Team Date: Thu, 11 Jan 2024 12:24:28 +0100 Subject: fs: validate ntfsresize dry-run output validate 'Needed relocations: ' is in place before stepping on the split chunks (2024-01-11 10:28:16) ogClient: [ERROR] - Exception when running "image create" subprocess Traceback (most recent call last): File "/opt/opengnsys/ogClient/src/live/ogOperations.py", line 454, in image_create ogReduceFs(disk, partition) File "/opt/opengnsys/ogClient/src/utils/fs.py", line 105, in ogReduceFs _reduce_ntfsresize(partdev) File "/opt/opengnsys/ogClient/src/utils/fs.py", line 235, in _reduce_ntfsresize extra_size = int(out_resize_dryrun.split('Needed relocations : ')[1].split(' ')[0])*1.1+1024 IndexError: list index out of range if not present, no need to adjust size --- src/utils/fs.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/utils/fs.py b/src/utils/fs.py index 57e6674..c030e68 100644 --- a/src/utils/fs.py +++ b/src/utils/fs.py @@ -232,8 +232,9 @@ def _reduce_ntfsresize(partdev): if 'Nothing to do: NTFS volume size is already OK.' in out_resize_dryrun: logging.warn('ntfsresize reports nothing to do. Is the target filesystem already shrunken?') break - extra_size = int(out_resize_dryrun.split('Needed relocations : ')[1].split(' ')[0])*1.1+1024 - new_size += int(extra_size) + if out_resize_dryrun.find('Needed relocations : ') != -1: + extra_size = int(out_resize_dryrun.split('Needed relocations : ')[1].split(' ')[0])*1.1+1024 + new_size += int(extra_size) if new_size < size: cmd_resize = shlex.split(f'ntfsresize -fs {new_size:.0f} {partdev}') -- cgit v1.2.3-18-g5258