wic: call os.ftruncate instead of running truncate
PATCH 1/1 wic: call os.ftruncate instead of running truncate
Replaced running of truncate utility with the standard library call os.ftruncate
Signed-off-by Ed Bartosh <[email protected]>
--- scripts/lib/wic/imager/direct.py | 5 +++-- scripts/lib/wic/partition.py | 15 ++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-)
scripts/lib/wic/imager/direct.py +3 -2
@@ -56,8 +56,9 @@ class DiskImage(): if self.created: return # create sparse disk image - cmd = "truncate %s -s %s" % (self.device, self.size) - exec_cmd(cmd) + with open(self.device, 'w') as sparse: + os.ftruncate(sparse.fileno(), self.size) + self.created = True class DirectImageCreator(BaseImageCreator):
scripts/lib/wic/partition.py +10 -5
@@ -217,7 +217,8 @@ class Partition(): msger.debug("Added %d extra blocks to %s to get to %d total blocks" % \ (extra_blocks, self.mountpoint, rootfs_size)) - exec_cmd("truncate %s -s %d" % (rootfs, rootfs_size * 1024)) + with open(rootfs, 'w') as sparse: + os.ftruncate(sparse.fileno(), rootfs_size * 1024) extra_imagecmd = "-i 8192"
@@ -250,7 +251,8 @@ class Partition(): msger.debug("Added %d extra blocks to %s to get to %d total blocks" % \ (extra_blocks, self.mountpoint, rootfs_size)) - exec_cmd("truncate %s -s %d" % (rootfs, rootfs_size * 1024)) + with open(rootfs, 'w') as sparse: + os.ftruncate(sparse.fileno(), rootfs_size * 1024) label_str = "" if self.label:
@@ -305,7 +307,8 @@ class Partition(): """ Prepare an empty ext2/3/4 partition. """ - exec_cmd("truncate %s -s %d" % (rootfs, self.size * 1024)) + with open(rootfs, 'w') as sparse: + os.ftruncate(sparse.fileno(), rootfs_size * 1024) extra_imagecmd = "-i 8192"
@@ -322,7 +325,8 @@ class Partition(): """ Prepare an empty btrfs partition. """ - exec_cmd("truncate %s -s %d" % (rootfs, self.size * 1024)) + with open(rootfs, 'w') as sparse: + os.ftruncate(sparse.fileno(), rootfs_size * 1024) label_str = "" if self.label:
@@ -383,7 +387,8 @@ class Partition(): """ path = "%s/fs.%s" % (cr_workdir, self.fstype) - exec_cmd("truncate %s -s %d" % (path, self.size * 1024)) + with open(path, 'w') as sparse: + os.ftruncate(sparse.fileno(), self.size * 1024) import uuid label_str = ""
Signature · 1 line
2.1.4