]> code.ossystems Code Review - openembedded-core.git/commitdiff
image_types: Error out if BTRFS image is too small
authorSaul Wold <sgw@linux.intel.com>
Tue, 10 Feb 2015 21:05:53 +0000 (13:05 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 14 Feb 2015 08:40:36 +0000 (08:40 +0000)
[YOCTO #6804]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/image_types.bbclass

index d6cc87f79d7430245216070d375226592beef045..4983e9834dc0d61b12c0f6bfbfece9596139c6d2 100644 (file)
@@ -58,9 +58,14 @@ IMAGE_CMD_ext2 = "oe_mkext234fs ext2 ${EXTRA_IMAGECMD}"
 IMAGE_CMD_ext3 = "oe_mkext234fs ext3 ${EXTRA_IMAGECMD}"
 IMAGE_CMD_ext4 = "oe_mkext234fs ext4 ${EXTRA_IMAGECMD}"
 
+MIN_BTRFS_SIZE ?= "16777216"
 IMAGE_CMD_btrfs () {
-       dd if=/dev/zero of=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.btrfs count=${ROOTFS_SIZE} bs=1024
-       mkfs.btrfs ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.btrfs
+       if [ ${ROOTFS_SIZE} -gt ${MIN_BTRFS_SIZE} ]; then
+               dd if=/dev/zero of=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.btrfs count=${ROOTFS_SIZE} bs=1024
+               mkfs.btrfs ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.btrfs
+       else
+               bbfatal "Rootfs is too small for BTRFS (Rootfs Actual Size: ${ROOTFS_SIZE}, BTRFS Minimum Size: ${MIN_BTRFS_SIZE})"
+       fi
 }
 
 IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs ${EXTRA_IMAGECMD} -noappend"