grub-fs-tester: improve squash4 tests
authorAndrei Borzenkov <arvidjaar@gmail.com>
Sun, 26 Feb 2017 11:38:04 +0000 (14:38 +0300)
committerAndrei Borzenkov <arvidjaar@gmail.com>
Sun, 26 Feb 2017 11:38:04 +0000 (14:38 +0300)
1. Make sure files are not multiple of block size. This will ensure tail packing
for squash4 and may also trigger more codes paths in other filesystems.

2. Call mksquashfs with -always-use-fragments to force tail packing.

tests/util/grub-fs-tester.in

index f363d6f..2337771 100644 (file)
@@ -913,6 +913,9 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
                *)
                    BLOCKCNT=5242880;;
            esac
+           # Make sure file is not exact multiple of block size. This helps to force
+           # tail packing in case of squash4.
+           : $((BLOCKCNT--))
            case x"$fs" in
                x"ntfscomp")
                    setfattr -h -v 0x00000800 -n system.ntfs_attrib_be "$MNTPOINTRW/$OSDIR";;
@@ -998,8 +1001,8 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
                x"romfs")
                    genromfs -V "$FSLABEL" -f "${FSIMAGES[0]}" -d "$MASTER" ;;
                xsquash4_*)
-                   echo mksquashfs "$MASTER" "${FSIMAGES[0]}" -comp "${fs/squash4_/}" -b $BLKSIZE
-                   mksquashfs "$MASTER" "${FSIMAGES[0]}" -comp "${fs/squash4_/}" -b $BLKSIZE ;;
+                   echo mksquashfs "$MASTER" "${FSIMAGES[0]}" -always-use-fragments -comp "${fs/squash4_/}" -b $BLKSIZE
+                   mksquashfs "$MASTER" "${FSIMAGES[0]}" -always-use-fragments -comp "${fs/squash4_/}" -b $BLKSIZE ;;
                x"bfs")
                    sleep 1
                    fusermount -u "$MNTPOINTRW"