From 00af5317ebe0819f9e9e5c10184b00b59eecccb5 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 26 Nov 2014 08:22:05 -0800 Subject: wic: Don't allow mkfs to fail silently in partition command The return code from the mkfs command used by the partition creation command was being ignored, allowing it to silently fail and leaving users mystified as to why the resulting filesystem was corrupted. This became obvious when failures occurred when creating large e.g. sdk filesystems [YOCTO #6863]. (From OE-Core rev: 8cef3b06f7e9f9d922673f430ddb3170d2fac000) (From OE-Core rev: ac7b2eb0a35613d030eeef0b8df0d69ae0935b43) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- .../lib/wic/kickstart/custom_commands/partition.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'scripts') diff --git a/scripts/lib/wic/kickstart/custom_commands/partition.py b/scripts/lib/wic/kickstart/custom_commands/partition.py index 8b0ace6299..3950b43621 100644 --- a/scripts/lib/wic/kickstart/custom_commands/partition.py +++ b/scripts/lib/wic/kickstart/custom_commands/partition.py @@ -241,8 +241,10 @@ class Wic_PartData(Mic_PartData): mkfs_cmd = "mkfs.%s -F %s %s -d %s" % \ (self.fstype, extra_imagecmd, rootfs, image_rootfs) - exec_native_cmd(pseudo + mkfs_cmd, native_sysroot) - + (rc, out) = exec_native_cmd(pseudo + mkfs_cmd, native_sysroot) + if rc: + print "rootfs_dir: %s" % rootfs_dir + msger.error("ERROR: mkfs.%s returned '%s' instead of 0 (which you probably don't want to ignore, use --debug for details) when creating filesystem from rootfs directory: %s" % (self.fstype, rc, rootfs_dir)) # get the rootfs size in the right units for kickstart (Mb) du_cmd = "du -Lbms %s" % rootfs @@ -284,7 +286,9 @@ class Wic_PartData(Mic_PartData): mkfs_cmd = "mkfs.%s -b %d -r %s %s" % \ (self.fstype, rootfs_size * 1024, image_rootfs, rootfs) - exec_native_cmd(pseudo + mkfs_cmd, native_sysroot) + (rc, out) = exec_native_cmd(pseudo + mkfs_cmd, native_sysroot) + if rc: + msger.error("ERROR: mkfs.%s returned '%s' instead of 0 (which you probably don't want to ignore, use --debug for details) when creating filesystem from rootfs directory: %s" % (self.fstype, rc, rootfs_dir)) # get the rootfs size in the right units for kickstart (Mb) du_cmd = "du -Lbms %s" % rootfs @@ -396,7 +400,9 @@ class Wic_PartData(Mic_PartData): extra_imagecmd = "-i 8192" mkfs_cmd = "mkfs.%s -F %s %s" % (self.fstype, extra_imagecmd, fs) - exec_native_cmd(mkfs_cmd, native_sysroot) + (rc, out) = exec_native_cmd(mkfs_cmd, native_sysroot) + if rc: + msger.error("ERROR: mkfs.%s returned '%s' instead of 0 (which you probably don't want to ignore, use --debug for details)" % (self.fstype, rc)) self.source_file = fs @@ -414,10 +420,14 @@ class Wic_PartData(Mic_PartData): exec_cmd(dd_cmd) mkfs_cmd = "mkfs.%s -b %d %s" % (self.fstype, self.size * 1024, rootfs) - exec_native_cmd(mkfs_cmd, native_sysroot) + (rc, out) = exec_native_cmd(mkfs_cmd, native_sysroot) + if rc: + msger.error("ERROR: mkfs.%s returned '%s' instead of 0 (which you probably don't want to ignore, use --debug for details)" % (self.fstype, rc)) mkfs_cmd = "mkfs.%s -F %s %s" % (self.fstype, extra_imagecmd, fs) - exec_native_cmd(mkfs_cmd, native_sysroot) + (rc, out) = exec_native_cmd(mkfs_cmd, native_sysroot) + if rc: + msger.error("ERROR: mkfs.%s returned '%s' instead of 0 (which you probably don't want to ignore, use --debug for details)" % (self.fstype, rc)) self.source_file = fs -- cgit v1.2.3-54-g00ecf