tests: Fix whitespace formatting
Signed-off-by: Glenn Washburn <development@efficientek.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
74bf39ca34
commit
0ac14cd776
@ -53,27 +53,27 @@ case x"$fs" in
|
||||
MAXLOGSECSIZE=12;;
|
||||
xvfat*|xmsdos*)
|
||||
MINLOGSECSIZE=9
|
||||
# OS LIMITATION: It could go up to 32768 but Linux rejects sector sizes > 4096
|
||||
# OS LIMITATION: It could go up to 32768 but Linux rejects sector sizes > 4096
|
||||
MAXLOGSECSIZE=12;;
|
||||
xext*)
|
||||
MINLOGSECSIZE=8
|
||||
MAXLOGSECSIZE=12;;
|
||||
xbtrfs*)
|
||||
MINLOGSECSIZE=12
|
||||
# OS LIMITATION: It could go up to 32768 but Linux rejects sector sizes > 4096
|
||||
# OS LIMITATION: It could go up to 32768 but Linux rejects sector sizes > 4096
|
||||
MAXLOGSECSIZE=12;;
|
||||
xxfs)
|
||||
MINLOGSECSIZE=9
|
||||
# OS LIMITATION: GNU/Linux doesn't accept > 4096
|
||||
# OS LIMITATION: GNU/Linux doesn't accept > 4096
|
||||
MAXLOGSECSIZE=12;;
|
||||
xxfs_crc)
|
||||
MINLOGSECSIZE=9
|
||||
# OS LIMITATION: GNU/Linux doesn't accept > 1024
|
||||
# OS LIMITATION: GNU/Linux doesn't accept > 1024
|
||||
MAXLOGSECSIZE=10;;
|
||||
xzfs*)
|
||||
# OS LIMITATION: zfs-fuse hangs when creating zpool with sectors <=256B.
|
||||
# OS LIMITATION: zfs-fuse hangs when creating zpool with sectors <=256B.
|
||||
MINLOGSECSIZE=9
|
||||
# OS LIMITATION: zfs-fuse fails with >= 32K sectors.
|
||||
# OS LIMITATION: zfs-fuse fails with >= 32K sectors.
|
||||
# OS limitation: zfs-fuse always uses ashift=9 with loop devices
|
||||
MAXLOGSECSIZE=9;;
|
||||
esac
|
||||
@ -97,7 +97,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
;;
|
||||
xexfat*)
|
||||
MINBLKSIZE=$SECSIZE
|
||||
# It could go further but it requires more and more space
|
||||
# It could go further but it requires more and more space
|
||||
MAXBLKSIZE=8286208
|
||||
;;
|
||||
xhfs)
|
||||
@ -134,41 +134,41 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
;;
|
||||
x"mdraid"*)
|
||||
MINBLKSIZE=4096
|
||||
# OS LIMITATION: Linux oopses with >=32768K
|
||||
# OS LIMITATION: Linux oopses with >=32768K
|
||||
MAXBLKSIZE=$((16384*1024))
|
||||
;;
|
||||
x"lvm_raid1"* | x"lvm_raid4" | x"lvm_raid5" | x"lvm_raid6")
|
||||
# OS LIMITATION: Linux crashes with less than 16384
|
||||
# OS LIMITATION: Linux crashes with less than 16384
|
||||
MINBLKSIZE=16384
|
||||
# Could go further but what's the point?
|
||||
# Could go further but what's the point?
|
||||
MAXBLKSIZE=$((65536*1024))
|
||||
;;
|
||||
x"lvm_mirrorall")
|
||||
MINBLKSIZE=2048
|
||||
# Could go further but what's the point?
|
||||
# Could go further but what's the point?
|
||||
MAXBLKSIZE=$((65536*1024))
|
||||
;;
|
||||
x"lvm_mirror1")
|
||||
MINBLKSIZE=4096
|
||||
# Could go further but what's the point?
|
||||
# Could go further but what's the point?
|
||||
MAXBLKSIZE=$((65536*1024))
|
||||
;;
|
||||
x"lvm_stripe")
|
||||
MINBLKSIZE=4096
|
||||
# Could go further but what's the point?
|
||||
# Could go further but what's the point?
|
||||
MAXBLKSIZE=$((65536*1024))
|
||||
;;
|
||||
x"lvm"*)
|
||||
MINBLKSIZE=1024
|
||||
# Could go further but what's the point?
|
||||
# Could go further but what's the point?
|
||||
MAXBLKSIZE=$((65536*1024))
|
||||
;;
|
||||
xext4_encrypt)
|
||||
# OS LIMITATION: Linux currently only allows the 'encrypt' feature
|
||||
# in combination with block_size = PAGE_SIZE (4096 bytes on x86).
|
||||
MINBLKSIZE=$(getconf PAGE_SIZE)
|
||||
MAXBLKSIZE=$MINBLKSIZE
|
||||
;;
|
||||
xext4_encrypt)
|
||||
# OS LIMITATION: Linux currently only allows the 'encrypt' feature
|
||||
# in combination with block_size = PAGE_SIZE (4096 bytes on x86).
|
||||
MINBLKSIZE=$(getconf PAGE_SIZE)
|
||||
MAXBLKSIZE=$MINBLKSIZE
|
||||
;;
|
||||
xext*)
|
||||
MINBLKSIZE=1024
|
||||
if [ $MINBLKSIZE -lt $SECSIZE ]; then
|
||||
@ -181,7 +181,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
MAXBLKSIZE=1048576;;
|
||||
xxfs|xf2fs)
|
||||
MINBLKSIZE=$SECSIZE
|
||||
# OS Limitation: GNU/Linux doesn't accept > 4096
|
||||
# OS Limitation: GNU/Linux doesn't accept > 4096
|
||||
MAXBLKSIZE=4096;;
|
||||
xxfs_crc)
|
||||
# OS Limitation: GNU/Linux doesn't accept != 1024
|
||||
@ -195,11 +195,11 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
MAXBLKSIZE=8192;;
|
||||
xufs*)
|
||||
MINBLKSIZE=4096
|
||||
# OS Limitation: Linux rejects 65536 blocks.
|
||||
# OS Limitation: Linux rejects 65536 blocks.
|
||||
MAXBLKSIZE=32768;;
|
||||
xminix3)
|
||||
# OS LIMITATION: Linux rejects non-power-of-two blocks.
|
||||
# OS LIMITATION: Linux rejects > 4096.
|
||||
# OS LIMITATION: Linux rejects non-power-of-two blocks.
|
||||
# OS LIMITATION: Linux rejects > 4096.
|
||||
MINBLKSIZE=1024
|
||||
MAXBLKSIZE=1024;;
|
||||
esac
|
||||
@ -246,17 +246,17 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
unset NEED_IMAGES;
|
||||
|
||||
case x$fs in
|
||||
# RAID 1 has to work with even one device of the set.
|
||||
# RAID 1 has to work with even one device of the set.
|
||||
xzfs_mirror | x"mdraid"*"_raid1" | xlvm_mirrorall | xlvm_raid1all)
|
||||
NEED_IMAGES_N=1;;
|
||||
# Degrade raidz by removing 3 devices
|
||||
# Degrade raidz by removing 3 devices
|
||||
xzfs_raidz3)
|
||||
NEED_IMAGES_N=$((NDEVICES-3));;
|
||||
# Degrade raidz by removing 2 devices
|
||||
# Degrade raidz by removing 2 devices
|
||||
xzfs_raidz2 | x"mdraid"*"_raid6" | x"lvm_raid6")
|
||||
NEED_IMAGES_N=$((NDEVICES-2));;
|
||||
# Degrade raidz and btrfs RAID1 by removing one device
|
||||
xbtrfs_raid1 | xbtrfs_raid10 | xzfs_raidz | x"mdraid"*"_raid4" \
|
||||
# Degrade raidz and btrfs RAID1 by removing one device
|
||||
xbtrfs_raid1 | xbtrfs_raid10 | xzfs_raidz | x"mdraid"*"_raid4" \
|
||||
| x"mdraid"*"_raid5" | x"mdraid"*"_raid10" | xlvm_mirror1 \
|
||||
| x"lvm_raid1" | x"lvm_raid4" | x"lvm_raid5")
|
||||
NEED_IMAGES_N=$((NDEVICES-1));;
|
||||
@ -283,7 +283,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
exit 99
|
||||
fi
|
||||
case x"$fs" in
|
||||
# FS LIMITATION: 8.3 names
|
||||
# FS LIMITATION: 8.3 names
|
||||
xmsdos*)
|
||||
CFILE="american.eng";;
|
||||
xiso9660)
|
||||
@ -291,77 +291,77 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
*)
|
||||
CFILE="american-english";;
|
||||
esac
|
||||
# OS LIMITATION: Limited by NAME_MAX (usually 255) in GNU/Linux
|
||||
# OS LIMITATION: Limited by NAME_MAX (usually 255) in GNU/Linux
|
||||
LONGNAME="qwertzuiopasdfghjklyxcvbnm1234567890qwertzuiopasdfghjklyxcvbnm1234567890oiewqfiewioqoiqoiurqruewqoiuwoieoiiuewqroreqiufieiuwrnureweriuvceoiroiewqoiricdsalkcndsakfirefoiwqeoircorejwoijfreoijojoiewjfwnfcoirenfoirefnreoifenoiwfnoi"
|
||||
rm -rf "$MASTER"
|
||||
|
||||
case x"$fs" in
|
||||
# FS LIMITATION: HFS+ label is at most 255 UTF-16 chars
|
||||
# FS LIMITATION: HFS+ label is at most 255 UTF-16 chars
|
||||
# OS LIMITATION: Linux HFS+ tools check UTF-8 length and don't
|
||||
# handle out-of-BMP characters
|
||||
x"hfsplus" | x"hfsplus_casesens" | x"hfsplus_wrap")
|
||||
FSLABEL="grub_;/testé䏌䐓䏕киритi urewfceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoiq"
|
||||
;;
|
||||
# FS LIMITATION: btrfs label is at most 255 UTF-8 chars
|
||||
# FS LIMITATION: btrfs label is at most 255 UTF-8 chars
|
||||
x"btrfs"*)
|
||||
FSLABEL="grub_;/testé莭莽😁киритi urewfceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoi";;
|
||||
|
||||
# FS LIMITATION: f2fs label is at most 512 UTF-16 chars
|
||||
# FS LIMITATION: f2fs label is at most 512 UTF-16 chars
|
||||
x"f2fs")
|
||||
FSLABEL="grub_;/testé䏌䐓䏕киритiurewfceniuewruewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoirvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoircreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoiq";;
|
||||
|
||||
# FS LIMITATION: exfat is at most 15 UTF-16 chars
|
||||
# FS LIMITATION: exfat is at most 15 UTF-16 chars
|
||||
x"exfat")
|
||||
FSLABEL="géт ;/莭莽😁кир";;
|
||||
# FS LIMITATION: ntfs label is at most ?? UTF-16 chars
|
||||
# FS LIMITATION: ntfs label is at most ?? UTF-16 chars
|
||||
x"ntfs"*)
|
||||
FSLABEL="grub_;/testéтi u莭😁茝кириrewfceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvniwnivrewiuvcrewvnuewvrrrewniureifiuewifjiww";;
|
||||
# FS LIMITATION: nilfs2 label is at most 80 UTF-8 characters
|
||||
# FS LIMITATION: nilfs2 label is at most 80 UTF-8 characters
|
||||
x"nilfs2")
|
||||
FSLABEL="grub_;/testéтi u😁莽茝кириrewfceniuewruevrewnuuireurevueurnievrewfne";;
|
||||
# FS LIMITATION: afs and iso9660 label is at most 32 UTF-8 characters
|
||||
# FS LIMITATION: afs and iso9660 label is at most 32 UTF-8 characters
|
||||
x"afs" | xiso9660 | xrockridge | xrockridge_joliet\
|
||||
| xiso9660_1999 | xrockridge_1999\
|
||||
| xrockridge_joliet_1999 | xziso9660)
|
||||
FSLABEL="gr_;/é莭莽😁кирит u";;
|
||||
# FS LIMITATION: bfs label is at most 32 UTF-8 characters
|
||||
# OS LIMITATION: bfs label can't contain ; or /
|
||||
# FS LIMITATION: bfs label is at most 32 UTF-8 characters
|
||||
# OS LIMITATION: bfs label can't contain ; or /
|
||||
x"bfs")
|
||||
FSLABEL="grub_é莭莽😁кирит u";;
|
||||
# FS LIMITATION: Joliet label is at most 16 UTF-16 characters
|
||||
# FS LIMITATION: Joliet label is at most 16 UTF-16 characters
|
||||
# OS LIMITATION: xorriso doesn't handle out-of-BMP characters
|
||||
xjoliet | xjoliet_1999)
|
||||
FSLABEL="g;/_é䏌䐓䏕䎛䎾䏴кит u"
|
||||
#FSLABEL="g;/_é莭莽😁кит u"
|
||||
;;
|
||||
# FS LIMITATION: reiserfs, extN and jfs label is at most 16 UTF-8 characters
|
||||
# FS LIMITATION: reiserfs, extN and jfs label is at most 16 UTF-8 characters
|
||||
x"reiserfs_old" | x"reiserfs" | x"ext"* | x"lvm"* | x"mdraid"* | x"jfs" | x"jfs_caseins")
|
||||
FSLABEL="g;/éт 莭😁";;
|
||||
# FS LIMITATION: No underscore, space, semicolon, slash or international characters in UFS* in label. Limited to 32 UTF-8 characters
|
||||
# FS LIMITATION: No underscore, space, semicolon, slash or international characters in UFS* in label. Limited to 32 UTF-8 characters
|
||||
x"ufs1" | x"ufs1_sun" | x"ufs2")
|
||||
FSLABEL="grubtest""ieurrucnenreeiurueurewf";;
|
||||
# FS LIMITATION: XFS label is at most 12 UTF-8 characters
|
||||
# FS LIMITATION: XFS label is at most 12 UTF-8 characters
|
||||
x"xfs"|x"xfs_crc")
|
||||
FSLABEL="géт 😁к";;
|
||||
# FS LIMITATION: FAT labels limited to 11 characters, no international characters or lowercase
|
||||
# and excluding the restricted characters in "*?.,;:/\|+=<>[]"
|
||||
# FS LIMITATION: FAT labels limited to 11 characters, no international characters or lowercase
|
||||
# and excluding the restricted characters in "*?.,;:/\|+=<>[]"
|
||||
x"vfat"* | xmsdos*)
|
||||
FSLABEL="G~!@#\$%^&(_";;
|
||||
# FS LIMITATION: AFFS is latin1. At most 29 characters
|
||||
# FS LIMITATION: AFFS is latin1. At most 29 characters
|
||||
x"affs" | xaffs_intl)
|
||||
FSLABEL="grub_tt? #*w;/e£@¡¤½¾{[]}<>.,";;
|
||||
# FS LIMITATION: SFS is latin1. At most 30 characters
|
||||
# FS LIMITATION: SFS is latin1. At most 30 characters
|
||||
x"sfs"*)
|
||||
FSLABEL="GRUB tt öäüé;/àèç åø¿ª©þð׫»µ¬";;
|
||||
# FS LIMITATION: HFS is Mac-Roman. At most 27 characters
|
||||
# FS LIMITATION: HFS is Mac-Roman. At most 27 characters
|
||||
x"hfs")
|
||||
FSLABEL="grub_t;/estéàèèéie fiucnree";;
|
||||
# FS LIMITATION: UDF label is either up to 127 latin1 characters or 63 UTF-16 ones
|
||||
# FS LIMITATION: UDF label is either up to 127 latin1 characters or 63 UTF-16 ones
|
||||
# OS LIMITATION: Linux UDF tools force ASCII label ...
|
||||
x"udf")
|
||||
FSLABEL="grub_;/testurewfceniuewruevrewnuuireurevueurnievr";;
|
||||
# FS LIMITATION: ZFS doesn't accept non-ASCII in label
|
||||
# FIXME: since this is used as a path component for mount it's very limited in length
|
||||
# FS LIMITATION: ZFS doesn't accept non-ASCII in label
|
||||
# FIXME: since this is used as a path component for mount it's very limited in length
|
||||
xzfs_* | xzfs)
|
||||
FSLABEL="grub_testieufiue r";;
|
||||
esac
|
||||
@ -371,7 +371,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
xlvm*)
|
||||
LVMBLKMUL=$(((5800 * 1048576) / (8 * BLKSIZE * NDEVICES)))
|
||||
DISKSIZE=$((8*BLKSIZE*LVMBLKMUL));;
|
||||
# FS LIMITATION: some fs have disk size limit
|
||||
# FS LIMITATION: some fs have disk size limit
|
||||
x"vfat12" | xmsdos12)
|
||||
DISKSIZE=$((4000*BLKSIZE));;
|
||||
x"vfat12a" | xmsdos12a)
|
||||
@ -407,7 +407,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
|
||||
BIGBLOCKCNT=$((5000 * 1048576))
|
||||
case x"$fs" in
|
||||
# FS LIMITATION: small filesystems
|
||||
# FS LIMITATION: small filesystems
|
||||
x"vfat12" | xmsdos12)
|
||||
if [ $BLKSIZE -le 4096 ]; then
|
||||
BIGBLOCKCNT=0
|
||||
@ -440,8 +440,8 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
BIGBLOCKCNT=30000000;;
|
||||
|
||||
xexfat)
|
||||
# Big blocks waste really a lot of space.
|
||||
# Not much is left.
|
||||
# Big blocks waste really a lot of space.
|
||||
# Not much is left.
|
||||
if [ $BLKSIZE = 2097152 ]; then
|
||||
BIGBLOCKCNT=4500000000
|
||||
fi
|
||||
@ -449,10 +449,10 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
BIGBLOCKCNT=3500000000
|
||||
fi
|
||||
;;
|
||||
# FS LIMITATION: romfs image is limited to 4G.
|
||||
# FS LIMITATION: romfs image is limited to 4G.
|
||||
x"romfs")
|
||||
BIGBLOCKCNT=$((4000 * 1048576));;
|
||||
# FS LIMITATION: These FS have uint32 as file size field
|
||||
# FS LIMITATION: These FS have uint32 as file size field
|
||||
x"vfat"* | xmsdos* | x"cpio_crc" | x"cpio_newc" | x"cpio_bin" | x"cpio_hpbin" | xsfs*)
|
||||
BIGBLOCKCNT=4294967295;;
|
||||
# FS LIMITATION: These FS have int32 as file size field
|
||||
@ -461,38 +461,38 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
x"minix3" | x"minix2" | x"hfs"| x"affs" | xaffs_intl | xreiserfs_old | xext2_old)
|
||||
BIGBLOCKCNT=$((0x7fffffff));;
|
||||
|
||||
# FS LIMITATION: redundant storage
|
||||
# We have only limited space. Mirroring multiplies it very effectively.
|
||||
# FS LIMITATION: redundant storage
|
||||
# We have only limited space. Mirroring multiplies it very effectively.
|
||||
xmdraid* | xlvm* | xzfs_mirror | xbtrfs_raid1)
|
||||
BIGBLOCKCNT=$((100 * 1048576));;
|
||||
# We already test the FS for big files separately. Save some time here.
|
||||
# We already test the FS for big files separately. Save some time here.
|
||||
x"zfs_raid"* | x"zfs_stripe"* | x"zfs_mirror"* | x"btrfs_raid"*)
|
||||
BIGBLOCKCNT=$((100 * 1048576));;
|
||||
|
||||
# OS LIMITATION: bfs_fuse bugs beyond that
|
||||
# OS LIMITATION: bfs_fuse bugs beyond that
|
||||
xbfs)
|
||||
BIGBLOCKCNT=$((800 * 1048576));;
|
||||
esac
|
||||
|
||||
NOSYMLINK=n
|
||||
case x"$fs" in
|
||||
# FS LIMITATION: no symlinks on FAT, exFAT, HFS, plain ISO9660 and Joliet
|
||||
# OS LIMITATION: ntfs-3g creates interix symlinks which aren't real symlinks
|
||||
# FS LIMITATION: no symlinks on FAT, exFAT, HFS, plain ISO9660 and Joliet
|
||||
# OS LIMITATION: ntfs-3g creates interix symlinks which aren't real symlinks
|
||||
x"vfat"* | xmsdos* | x"hfs" | x"exfat" | x"ntfs"* \
|
||||
| xiso9660 | xjoliet| xiso9660_1999 | xjoliet_1999)
|
||||
NOSYMLINK=y;;
|
||||
esac
|
||||
NOHARDLINK=n
|
||||
case x"$fs" in
|
||||
# FS LIMITATION: no hardlinks on BFS, exfat, fat, hfs and SFS
|
||||
# FS LIMITATION: no hardlinks on BFS, exfat, fat, hfs and SFS
|
||||
xbfs | xexfat | x"vfat"* | xmsdos* | xhfs | xsfs | xsfs_caseins)
|
||||
NOHARDLINK=y;;
|
||||
# GRUB LIMITATION: no hardlink support on newc and hfs+
|
||||
# GRUB LIMITATION: no hardlink support on newc and hfs+
|
||||
xcpio_crc | xcpio_newc | xhfsplus*)
|
||||
NOHARDLINK=y;;
|
||||
esac
|
||||
|
||||
# FS LIMITATION: some filesystems limit file name size
|
||||
# FS LIMITATION: some filesystems limit file name size
|
||||
case x"$fs" in
|
||||
x"cpio_ustar")
|
||||
LONGNAME="`echo $LONGNAME |head -c 99`";;
|
||||
@ -506,40 +506,40 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
LONGNAME="`echo $LONGNAME |head -c 60`";;
|
||||
x"udf")
|
||||
LONGNAME="`echo $LONGNAME |head -c 192`";;
|
||||
# GRUB LIMITATION: GRUB prefers Joliet over ISO9660:1999
|
||||
# GRUB LIMITATION: GRUB prefers Joliet over ISO9660:1999
|
||||
xjoliet | xjoliet_1999)
|
||||
LONGNAME="`echo $LONGNAME |head -c 103`";;
|
||||
xiso9660_1999)
|
||||
LONGNAME="`echo $LONGNAME |head -c 207`";;
|
||||
# FS LIMITATION: 8.3
|
||||
# FS LIMITATION: 8.3
|
||||
xmsdos*)
|
||||
LONGNAME="qwertzui.opa";;
|
||||
esac
|
||||
NOFILETIME=n
|
||||
NOFSTIME=n
|
||||
case x"$fs" in
|
||||
# FIXME: Not sure about BtrFS, NTFS, JFS, AFS, UDF and SFS. Check it.
|
||||
# FS LIMITATION: as far as I know those FS don't store their last modification date.
|
||||
# FIXME: Not sure about BtrFS, NTFS, JFS, AFS, UDF and SFS. Check it.
|
||||
# FS LIMITATION: as far as I know those FS don't store their last modification date.
|
||||
x"jfs_caseins" | x"jfs" | x"xfs" | x"xfs_crc" | x"btrfs"* | x"reiserfs_old" | x"reiserfs" \
|
||||
| x"bfs" | x"afs" | x"f2fs" \
|
||||
| x"tarfs" | x"cpio_"* | x"minix" | x"minix2" \
|
||||
| x"minix3" | x"ntfs"* | x"udf" | x"sfs"*)
|
||||
NOFSTIME=y;;
|
||||
# OS LIMITATION: Linux doesn't update fstime.
|
||||
# OS LIMITATION: Linux doesn't update fstime.
|
||||
# OS LIMITATION: Linux apparently uses localtime instead of UTC
|
||||
xhfs)
|
||||
NOFILETIME=y; NOFSTIME=y;;
|
||||
# GRUB LIMITATION: FAT and exFAT use localtime. Unusable for GRUB
|
||||
# GRUB LIMITATION: FAT and exFAT use localtime. Unusable for GRUB
|
||||
x"vfat"* | x"msdos"* | x"exfat")
|
||||
NOFILETIME=y; NOFSTIME=y;;
|
||||
# FS LIMITATION: romfs has no timestamps.
|
||||
# FS LIMITATION: romfs has no timestamps.
|
||||
x"romfs")
|
||||
NOFILETIME=y; NOFSTIME=y;;
|
||||
esac
|
||||
|
||||
NOFSLABEL=n
|
||||
case x"$fs" in
|
||||
# FS LIMITATION: these filesystems have no label.
|
||||
# FS LIMITATION: these filesystems have no label.
|
||||
x"cpio_"* | x"tarfs" | x"squash4_"* | x"minix" | x"minix2" \
|
||||
| x"minix3" | xreiserfs_old)
|
||||
NOFSLABEL=y;;
|
||||
@ -549,35 +549,35 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
PDIR2COMPNUM=210
|
||||
|
||||
case x$fs in
|
||||
# OS LIMITATION: bfs_fuse bugs beyond that
|
||||
# OS LIMITATION: bfs_fuse bugs beyond that
|
||||
xbfs)
|
||||
PDIRCOMPNUM=10
|
||||
PDIR2COMPNUM=10;;
|
||||
# OS LIMITATION: Linux supports only inline symlinks
|
||||
# OS LIMITATION: Linux supports only inline symlinks
|
||||
xudf)
|
||||
if [ $BLKSIZE = 1024 ]; then
|
||||
PDIR2COMPNUM=113
|
||||
fi ;;
|
||||
# FS LIMITATION: at most 255 on path length
|
||||
# FS LIMITATION: at most 100 on symlink length
|
||||
# FS LIMITATION: at most 255 on path length
|
||||
# FS LIMITATION: at most 100 on symlink length
|
||||
xcpio_ustar)
|
||||
PDIRCOMPNUM=84
|
||||
PDIR2COMPNUM=30;;
|
||||
# OS LIMITATION: Linux supports only symlink at most one block long on reiserfs
|
||||
# OS LIMITATION: Linux supports only symlink at most one block long on reiserfs
|
||||
xreiserfs | xreiserfs_old)
|
||||
if [ $BLKSIZE = 512 ]; then
|
||||
PDIR2COMPNUM=114
|
||||
fi ;;
|
||||
# FS LIMITATION: SFS assumes that symlink
|
||||
# with header fit in one block.
|
||||
# FIXME: not sure about it.
|
||||
# FS LIMITATION: SFS assumes that symlink
|
||||
# with header fit in one block.
|
||||
# FIXME: not sure about it.
|
||||
xsfs | xsfs_caseins)
|
||||
if [ $BLKSIZE = 512 ]; then
|
||||
PDIR2COMPNUM=147
|
||||
fi ;;
|
||||
# FS LIMITATION: AFFS assumes that symlink
|
||||
# with rather larger header fit in one block.
|
||||
# FIXME: not sure about it.
|
||||
# FS LIMITATION: AFFS assumes that symlink
|
||||
# with rather larger header fit in one block.
|
||||
# FIXME: not sure about it.
|
||||
xaffs | xaffs_intl)
|
||||
if [ $BLKSIZE = 512 ]; then
|
||||
PDIR2COMPNUM=97
|
||||
@ -586,7 +586,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
|
||||
|
||||
PDIR=""
|
||||
# OS LIMITATION: Limited by PATH_MAX (usually 1024)
|
||||
# OS LIMITATION: Limited by PATH_MAX (usually 1024)
|
||||
for i in $(range 0 $((PDIRCOMPNUM-1)) 1); do
|
||||
PDIR="$PDIR/$i";
|
||||
if test $((i%3)) = 0; then
|
||||
@ -595,7 +595,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
done
|
||||
|
||||
PDIR2=""
|
||||
# OS LIMITATION: Limited by PATH_MAX (usually 1024)
|
||||
# OS LIMITATION: Limited by PATH_MAX (usually 1024)
|
||||
for i in $(range 0 $((PDIR2COMPNUM-1)) 1); do
|
||||
PDIR2="${PDIR2}/$i";
|
||||
if test $((i%3)) = 0; then
|
||||
@ -612,14 +612,14 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
|
||||
case x"$fs" in
|
||||
x"tarfs" | x"cpio_"*| x"ziso9660" | x"romfs" | x"squash4_"*\
|
||||
| x"iso9660" | xjoliet | xrockridge | xrockridge_joliet \
|
||||
| x"iso9660" | xjoliet | xrockridge | xrockridge_joliet \
|
||||
| x"iso9660_1999" | xjoliet_1999 | xrockridge_1999 \
|
||||
| xrockridge_joliet_1999)
|
||||
MNTPOINTRW="$MASTER"
|
||||
MNTPOINTRO="$MASTER"
|
||||
GENERATED=y
|
||||
mkdir -p "$MASTER";;
|
||||
# No mkfs for GNU/Linux. Just unpack preformatted empty image
|
||||
# No mkfs for GNU/Linux. Just unpack preformatted empty image
|
||||
*)
|
||||
mkdir -p "$MNTPOINTRW"
|
||||
mkdir -p "$MNTPOINTRO"
|
||||
@ -666,7 +666,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
x"minix")
|
||||
"mkfs.minix" "${MOUNTDEVICE}"
|
||||
;;
|
||||
# mkfs.hfs and mkfs.hfsplus don't fill UUID.
|
||||
# mkfs.hfs and mkfs.hfsplus don't fill UUID.
|
||||
x"hfsplus")
|
||||
"mkfs.hfsplus" -b $BLKSIZE -v "$FSLABEL" "${MOUNTDEVICE}"
|
||||
dd if=/dev/urandom of="${MOUNTDEVICE}" bs=1 seek=$((0x468)) conv=notrunc count=8 ;;
|
||||
@ -816,10 +816,10 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext4" -O meta_bg,^resize_inode -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}"
|
||||
MOUNTFS=ext4
|
||||
;;
|
||||
xext4_encrypt)
|
||||
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext4" -O encrypt -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}"
|
||||
MOUNTFS=ext4
|
||||
;;
|
||||
xext4_encrypt)
|
||||
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext4" -O encrypt -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}"
|
||||
MOUNTFS=ext4
|
||||
;;
|
||||
xext*)
|
||||
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.$fs" -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}" ;;
|
||||
xxfs)
|
||||
@ -836,38 +836,38 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
NASTYFILE=".?*\\!\"#%@\$%&'()+ ,-.:;<=>^{_}[]\`|~."
|
||||
case x"$fs" in
|
||||
|
||||
# FS LIMITATION: AFFS and SFS don't accept :
|
||||
# FS LIMITATION: AFFS and SFS don't accept :
|
||||
xsfs*)
|
||||
NASTYFILE=".?*\\!\"#%@\$%&'()+ ,-.;<=>^{_}[]\`|~.";;
|
||||
# FS LIMITATION: AFFS is limited in file name length (30)
|
||||
# FS LIMITATION: AFFS is limited in file name length (30)
|
||||
x"affs" | xaffs_intl)
|
||||
NASTYFILE=".?*\\!\"#@\$'()+ ,-;<=>^{_}[]\`|~.";;
|
||||
# FS LIMITATION: hfs, minix and minix2 are limited in file name length (30 or 31)
|
||||
# FS LIMITATION: hfs, minix and minix2 are limited in file name length (30 or 31)
|
||||
x"hfs" | x"minix" | x"minix2")
|
||||
NASTYFILE=".?*\\!\"#@\$&'()+ ,-:;<=>{}[]\`|~.";;
|
||||
# FS LIMITATION: FAT doesn't accept ?, *, \, ", :, <, >, |
|
||||
# FS LIMITATION: FAT discards dots at the end.
|
||||
# FS LIMITATION: FAT doesn't accept ?, *, \, ", :, <, >, |
|
||||
# FS LIMITATION: FAT discards dots at the end.
|
||||
x"vfat"* | x"exfat")
|
||||
NASTYFILE=".!#%@\$%&'()+ ,-.;=^{_}[]\`~";;
|
||||
# FS LIMITATION: 8.3 limitations apply
|
||||
# FS LIMITATION: 8.3 limitations apply
|
||||
x"msdos"*)
|
||||
NASTYFILE="!#%@\$%&.;=^";;
|
||||
# FS LIMITATION: No ' ', '*', '/', ':', ';', '?', '\\' in joliet
|
||||
# GRUB LIMITATION: GRUB prefers Joliet over ISO9660:1999
|
||||
# FS LIMITATION: No ' ', '*', '/', ':', ';', '?', '\\' in joliet
|
||||
# GRUB LIMITATION: GRUB prefers Joliet over ISO9660:1999
|
||||
xjoliet | xjoliet_1999)
|
||||
NASTYFILE=".!\"#%@\$%&'()+,-.<=>^{_}[]\`|~.";;
|
||||
# FS LIMITATION: iso9660 accepts only [0-9A-Z_]*, 32 characters at most
|
||||
# FS LIMITATION: iso9660 accepts only [0-9A-Z_]*, 32 characters at most
|
||||
xiso9660)
|
||||
NASTYFILE="0123456789_acefghijknopqrvwxyz";;
|
||||
esac
|
||||
|
||||
case x"$fs" in
|
||||
# FS LIMITATION: HFS, AFFS and SFS use legacy codepage (mac-roman or latin1)
|
||||
# FS LIMITATION: HFS, AFFS and SFS use legacy codepage (mac-roman or latin1)
|
||||
x"sfs"* | x"hfs" | x"affs" | xaffs_intl)
|
||||
IFILE="éàèüöäëñ"
|
||||
ISYM="ëñéüöäàè"
|
||||
;;
|
||||
# FS LIMITATION: filename length limitation.
|
||||
# FS LIMITATION: filename length limitation.
|
||||
x"minix" | x"minix2")
|
||||
IFILE="éàèüö😁ñкиΕλκά"
|
||||
ISYM="Ελκάкиéà😁öäëñ"
|
||||
@ -875,21 +875,21 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
xminix3)
|
||||
IFILE="éàèüöäëñкирица莭茝Ελλικά😁😜😒"
|
||||
ISYM="Ελλικά😁😜😒莭茝кирицаéàèüöäëñ";;
|
||||
# GRUB LIMITATION: HFS+ uses NFD. GRUB doesn't handle NF conversion.
|
||||
# GRUB LIMITATION: HFS+ uses NFD. GRUB doesn't handle NF conversion.
|
||||
# OS LIMITATION: Linux doesn't handle out-of-BMP characters for UTF-16
|
||||
x"hfsplus" | x"hfsplus_casesens" | x"hfsplus_wrap")
|
||||
IFILE="éàèüöäëñкирилица䏌䐓䏕Ελληνικα̍䏌䐓䏕"
|
||||
ISYM="Ελληνικα̍кирилица䏌䐓䏕éàèüöäëñ䏌䐓䏕"
|
||||
;;
|
||||
# GRUB LIMITATION: On case-insensitive ZFS isn't supported with non-uppercase characters
|
||||
# GRUB LIMITATION: On case-insensitive ZFS isn't supported with non-uppercase characters
|
||||
xzfs_caseins)
|
||||
IFILE="ÉÀÈÜÖÄËÑКИРИЛИЦА莭莽茝ΕΛΛΗΝΙΚΆ😁😜😒"
|
||||
ISYM="ΕΛΛΗΝΙΚΆКИРИЛИЦА😁😜😒ÉÀÈÜÖÄËÑ莭莽茝";;
|
||||
# FS LIMITATION: 8.3 CP437
|
||||
# FS LIMITATION: 8.3 CP437
|
||||
x"msdos"*)
|
||||
IFILE="éàèüöäëñ.éàè"
|
||||
;;
|
||||
# FS LIMITATION: iso9660 is ASCII-only.
|
||||
# FS LIMITATION: iso9660 is ASCII-only.
|
||||
x"iso9660")
|
||||
IFILE="abcdefghijkmmnop"
|
||||
;;
|
||||
@ -937,13 +937,13 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
;;
|
||||
esac
|
||||
case x"$fs" in
|
||||
# FS LIMITATION: redundant storage
|
||||
# FS LIMITATION: redundant storage
|
||||
xmdraid* | xlvm*)
|
||||
BLOCKCNT=1048576;;
|
||||
x"zfs_raid"* | x"zfs_stripe"* | x"zfs_mirror"* | x"btrfs_raid"*)
|
||||
BLOCKCNT=1048576;;
|
||||
|
||||
# FS LIMITATION: small filesystems
|
||||
# FS LIMITATION: small filesystems
|
||||
x"vfat16a" | x"msdos16a")
|
||||
BLOCKCNT=65536;;
|
||||
x"vfat12a" | xmsdos12a)
|
||||
@ -973,7 +973,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
x"ntfscomp")
|
||||
setfattr -h -v 0x00000800 -n system.ntfs_attrib_be "$MNTPOINTRW/$OSDIR";;
|
||||
esac
|
||||
# OS LIMITATION: No AFS support under GNU/Linux
|
||||
# OS LIMITATION: No AFS support under GNU/Linux
|
||||
mkdir "$MNTPOINTRW/$OSDIR/sdir"
|
||||
mkdir -p "$MNTPOINTRW/$OSDIR/$PDIR"
|
||||
"@builddir@"/garbage-gen $BLOCKCNT > "$MNTPOINTRW/$OSDIR/sdir/2.img"
|
||||
@ -990,8 +990,8 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
"@builddir@"/garbage-gen $BLOCKCNT > "$MNTPOINTRW/$OSDIR/cAsE"
|
||||
fi
|
||||
if (test x$fs = xvfat12a || test x$fs = xmsdos12a) && test x$BLKSIZE = x131072; then
|
||||
# With this config there isn't enough space for full copy.
|
||||
# Copy as much as we can
|
||||
# With this config there isn't enough space for full copy.
|
||||
# Copy as much as we can
|
||||
cp "${CFILESRC}" "$MNTPOINTRW/$OSDIR/${CFILE}" &> /dev/null;
|
||||
else
|
||||
|
||||
@ -1293,7 +1293,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Inconsistencies between GRUB and blkid.
|
||||
# Inconsistencies between GRUB and blkid.
|
||||
case x"$fs" in
|
||||
x"iso9660" | x"ziso9660" | xrockridge | xjoliet | xrockridge_joliet | x"iso9660_1999" | xrockridge_1999 | xjoliet_1999 | xrockridge_joliet_1999) ;;
|
||||
x"zfs"*)
|
||||
@ -1322,12 +1322,12 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
# FS LIMITATION: romfs, cpio, tar, squash4, minix, AFS, old reiserfs and minix2
|
||||
# have no UUID.
|
||||
# GRUB LIMITATION: use creation date for squash4, AFFS and SFS?
|
||||
# GRUB LIMITATION: use tags serials on UDF?
|
||||
# GRUB LIMITATION: use root ctime on cpio, tar, minix*, UDF, reiserfs_old?
|
||||
# GRUB LIMITATION: Support Atari UUIDs
|
||||
# FS LIMITATION: romfs, cpio, tar, squash4, minix, AFS, old reiserfs and minix2
|
||||
# have no UUID.
|
||||
# GRUB LIMITATION: use creation date for squash4, AFFS and SFS?
|
||||
# GRUB LIMITATION: use tags serials on UDF?
|
||||
# GRUB LIMITATION: use root ctime on cpio, tar, minix*, UDF, reiserfs_old?
|
||||
# GRUB LIMITATION: Support Atari UUIDs
|
||||
x"romfs" | x"cpio_"* | x"tarfs" | x"squash4_"* | x"minix" \
|
||||
| x"minix2" | x"minix3" | x"affs" | xaffs_intl \
|
||||
| x"udf" | xvfat12a | xvfat16a | xmsdos12a | xmsdos16a | xafs | xsfs* \
|
||||
@ -1441,7 +1441,7 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||
echo NREAD FAIL
|
||||
exit 1
|
||||
fi
|
||||
# Reference archive contains original name
|
||||
# Reference archive contains original name
|
||||
if run_grubfstest cmp "$GRUBDIR/$LONGNAME" "$MNTPOINTRO/$OSDIR/$LONGNAME" ; then
|
||||
:
|
||||
else
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user