From 08eee2718aefea16d7a7e32e318ff03a1539e5c2 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Mon, 14 Dec 2015 15:01:15 -0700 Subject: [PATCH] test/fs: error case fixes/enhancements - Use "mkdir -p" to avoid errors when intermediate directories are missing. - Fall back to "dd" when "fallocate" fails. For example, fallocate isn't supported on ext4. - Add error checking for test image generation. Without this, the test simply plows on spewing all kinds of errors which are hard to immediately root-cause. Signed-off-by: Stephen Warren --- test/fs/fs-test.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/test/fs/fs-test.sh b/test/fs/fs-test.sh index fc41c04c15..043e5d0c0e 100755 --- a/test/fs/fs-test.sh +++ b/test/fs/fs-test.sh @@ -100,7 +100,7 @@ function compile_sandbox() { # We save time by not deleting and recreating the file system images function prepare_env() { rm -f ${MD5_FILE}.* ${OUT}.* - mkdir ${OUT_DIR} + mkdir -p ${OUT_DIR} } # 1st parameter is the name of the image file to be created @@ -115,11 +115,23 @@ function create_image() { fi if [ ! -f "$1" ]; then fallocate -l 3G "$1" &> /dev/null + if [ $? -ne 0 ]; then + echo fallocate failed - using dd instead + dd if=/dev/zero of=$1 bs=1024 count=$((3 * 1024 * 1024)) + if [ $? -ne 0 ]; then + echo Could not create empty disk image + exit $? + fi + fi mkfs -t "$2" $MKFS_OPTION "$1" &> /dev/null if [ $? -ne 0 -a "$2" = "fat" ]; then # If we fail and we did fat, try vfat. mkfs -t vfat $MKFS_OPTION "$1" &> /dev/null fi + if [ $? -ne 0 ]; then + echo Could not create filesystem + exit $? + fi fi }