[oe-commits] [openembedded-core] 20/23: image_types: perform fsck on created ext image

git at git.openembedded.org git at git.openembedded.org
Sun Mar 26 12:17:41 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit a93d005934192402d7cceb36016b25b7d0c65547
Author: Enrico Jorns <ejo at pengutronix.de>
AuthorDate: Fri Mar 24 12:15:02 2017 +0100

    image_types: perform fsck on created ext image
    
    When performing a file system check, the image created with mkfs will
    trigger Pass 3A ('Optimizing directories') which turns the file system
    into state "changed" (EXT2_FLAG_CHANGED).
    
    This will let fsck request a reboot by setting the return code flag "2".
    
    The result of this is that each ext-image built with oe-core will
    trigger a reboot during the first time an fsck is triggered.
    
    A common case where this might occur is when fsck detects having
    a future superblock write time. This always happens when booting a
    newly created ext4 rootfs with a target that does not have a recent time
    set.
    
    This patch moves the initial fsck run that performs the optimization
    from the target to the host system and thus prevents the target from
    performing an avoidable reboot.
    
    Signed-off-by: Enrico Jorns <ejo at pengutronix.de>
    Signed-off-by: Ulrich Ölmann <uol at pengutronix.de>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/classes/image_types.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 99adeb3..7749b00 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -74,6 +74,8 @@ oe_mkext234fs () {
 	# Create a sparse image block
 	dd if=/dev/zero of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype seek=$ROOTFS_SIZE count=$COUNT bs=1024
 	mkfs.$fstype -F $extra_imagecmd ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype -d ${IMAGE_ROOTFS}
+	# Error codes 0-3 indicate successfull operation of fsck (no errors or errors corrected)
+	fsck.$fstype -pvfD ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype || [ $? -le 3 ]
 }
 
 IMAGE_CMD_ext2 = "oe_mkext234fs ext2 ${EXTRA_IMAGECMD}"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list