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:
Glenn Washburn 2022-02-25 17:27:10 -06:00 committed by Daniel Kiper
parent 74bf39ca34
commit 0ac14cd776

View File

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