umka/img/gen.sh

1061 lines
30 KiB
Bash
Raw Normal View History

#!/bin/bash
RANDDIR=../tools/randdir
MKDOUBLEDIRS=../tools/mkdoubledirs
MKFILEPATTERN=../tools/mkfilepattern
DIRTOTEST=../tools/dirtotest.py
MKSAMEHASH=../tools/mksamehash
MKDIRRANGE=../tools/mkdirrange
2023-01-09 01:21:00 +01:00
MKFS_XFS="sudo mkfs.xfs"
XFS_MIN_DISK_SIZE="302MiB"
XFS_MKFS_OPTS="-q -i maxpct=0"
XFS_MOUNT_OPTS="-t xfs"
2023-01-09 01:21:00 +01:00
MKFS_EXT2="sudo mkfs.ext2"
MKFS_EXT4="sudo mkfs.ext4"
EXT_HASH_SEED="01234567-abcd-abcd-abcd-001122334455"
EXT_MKFS_OPTS="-q"
2023-01-09 01:21:00 +01:00
MKFS_FAT="sudo mkfs.fat"
FAT_MOUNT_OPTS="umask=111,dmask=000"
2023-01-09 01:21:00 +01:00
MKFS_EXFAT="sudo mkfs.exfat"
QCOW2_OPTS="compat=v3,compression_type=zlib,encryption=off,extended_l2=off,preallocation=off"
NBD_DEV=/dev/nbd0 # FIXME
2023-01-09 01:21:00 +01:00
SGDISK="sgdisk --align-end --disk-guid=abcdefff-0123-4554-3210-ffeeddccbbaa"
gpt_large.qcow2 () {
local img=$FUNCNAME
qemu-img create -f qcow2 -o $QCOW2_OPTS,cluster_size=2097152 $img 2E > /dev/null
sudo qemu-nbd -c $NBD_DEV $img
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:+1023MiB --new=0:0:+1023GiB --new=0:0:+1023TiB \
--new=0:0:+1023PiB $NBD_DEV > /dev/null
sudo qemu-nbd -d $NBD_DEV > /dev/null
}
gpt_partitions_s05k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l 1GiB $img_raw
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:+1MiB --new=0:0:+1MiB --new=0:4MiB:+1MiB \
--new=0:3MiB:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB $img_raw > /dev/null
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
gpt_partitions_s4k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l 1GiB $img_raw
sudo losetup -b 4096 $LOOP_DEV $img_raw
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:+1MiB --new=0:0:+1MiB --new=0:4MiB:+1MiB \
--new=0:3MiB:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB --new=0:0:+1MiB \
--new=0:0:+1MiB $LOOP_DEV > /dev/null
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
kolibri.raw () {
local img=$FUNCNAME
touch $img
fallocate -z -o 0 -l 1440KiB $img
mkfs.fat -n KOLIBRIOS -F 12 $img > /dev/null
mcopy -moi $img ../default.skn ::DEFAULT.SKN
mcopy -moi $img ../fill.cur ::FILL.CUR
mcopy -moi $img ../spray.cur ::SPRAY.CUR
mcopy -moi $img ../apps/board_cycle ::LOADER
mmd -i $img ::LIB
mcopy -moi $img ../network.obj ::LIB/NETWORK.OBJ
}
jfs.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l 16MiB $img_raw
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
mkfs.jfs -q $p1 > /dev/null
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_lookup_v4.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 03:04:24 +01:00
fallocate -l 3GiB $img_raw
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
2023-01-09 03:04:24 +01:00
$MKFS_XFS $XFS_MKFS_OPTS -b size=1k -m crc=0 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/dir_sf
$MKDOUBLEDIRS $TEMP_DIR/dir_sf d 5
#
mkdir $TEMP_DIR/dir_block
$MKDOUBLEDIRS $TEMP_DIR/dir_block d 50
#
mkdir $TEMP_DIR/dir_leaf
$MKDOUBLEDIRS $TEMP_DIR/dir_leaf d 500
#
mkdir $TEMP_DIR/dir_node
$MKDOUBLEDIRS $TEMP_DIR/dir_node d 2000
#
mkdir $TEMP_DIR/dir_btree_l1a
$MKDOUBLEDIRS $TEMP_DIR/dir_btree_l1a d 5000
#
mkdir $TEMP_DIR/dir_btree_l1b
2023-01-09 03:04:24 +01:00
$MKDOUBLEDIRS $TEMP_DIR/dir_btree_l1b d 200000
#
mkdir $TEMP_DIR/dir_btree_l2
2023-01-09 03:04:24 +01:00
$MKDOUBLEDIRS $TEMP_DIR/dir_btree_l2 d 1000000
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_lookup_v5.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 04:54:00 +01:00
fallocate -l 5GiB $img_raw
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
2023-01-09 03:04:24 +01:00
$MKFS_XFS $XFS_MKFS_OPTS -b size=1k -m crc=1 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/dir_sf
$MKDOUBLEDIRS $TEMP_DIR/dir_sf d 5
#
mkdir $TEMP_DIR/dir_block
$MKDOUBLEDIRS $TEMP_DIR/dir_block d 50
#
mkdir $TEMP_DIR/dir_leaf
$MKDOUBLEDIRS $TEMP_DIR/dir_leaf d 500
#
mkdir $TEMP_DIR/dir_node
$MKDOUBLEDIRS $TEMP_DIR/dir_node d 2000
#
mkdir $TEMP_DIR/dir_btree_l1a
$MKDOUBLEDIRS $TEMP_DIR/dir_btree_l1a d 5000
#
mkdir $TEMP_DIR/dir_btree_l1b
2023-01-09 03:04:24 +01:00
$MKDOUBLEDIRS $TEMP_DIR/dir_btree_l1b d 200000
#
mkdir $TEMP_DIR/dir_btree_l2
2023-01-09 03:04:24 +01:00
$MKDOUBLEDIRS $TEMP_DIR/dir_btree_l2 d 1000000
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_nrext64.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l 3GiB $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
2023-01-09 03:04:24 +01:00
$MKFS_XFS $XFS_MKFS_OPTS -i nrext64=1 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/dir_sf
$MKDIRRANGE $TEMP_DIR/dir_sf 0 3 0 2
#
mkdir $TEMP_DIR/dir_block
$MKDIRRANGE $TEMP_DIR/dir_block 0 5 201 43
#
mkdir $TEMP_DIR/dir_leaf
$MKDIRRANGE $TEMP_DIR/dir_leaf 0 50 201 43
#
mkdir $TEMP_DIR/dir_node
$MKDIRRANGE $TEMP_DIR/dir_node 0 1000 201 43
#
mkdir $TEMP_DIR/dir_btree_l1
$MKDIRRANGE $TEMP_DIR/dir_btree_l1 0 5000 231 13
#
mkdir $TEMP_DIR/dir_btree_l2
$MKDIRRANGE $TEMP_DIR/dir_btree_l2 0 1000000 231 13
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_bigtime.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
2023-01-09 03:04:24 +01:00
$MKFS_XFS $XFS_MKFS_OPTS -m bigtime=1 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/dira
mkdir $TEMP_DIR/dirb
mkdir $TEMP_DIR/dirc
mkdir $TEMP_DIR/dird
mkdir $TEMP_DIR/dire
mkdir $TEMP_DIR/dirf
touch -a -t 200504031122.33 $TEMP_DIR/dira
touch -m -t 200504031122.44 $TEMP_DIR/dira
touch -a -t 199504031122.33 $TEMP_DIR/dirb
touch -m -t 203504031122.44 $TEMP_DIR/dirb
touch -a -t 197504031122.33 $TEMP_DIR/dirc
touch -m -t 207504031122.44 $TEMP_DIR/dirc
touch -a -t 192504031122.33 $TEMP_DIR/dird
touch -m -t 210504031122.44 $TEMP_DIR/dird
touch -a -t 190004031122.33 $TEMP_DIR/dire
touch -m -t 220504031122.44 $TEMP_DIR/dire
touch -a -t 180004031122.33 $TEMP_DIR/dirf
touch -m -t 220504031122.44 $TEMP_DIR/dirf
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_borg_bit.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
2023-01-09 03:04:24 +01:00
$MKFS_XFS $XFS_MKFS_OPTS -n version=ci $p1
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_short_dir_i8.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
# echo -en "\x00" > $img_raw
fallocate -l 1MiB $img_raw
fallocate -i -o 0 -l 42TiB $img_raw
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 \
2023-01-09 03:04:24 +01:00
-d sectsize=512 -i size=256 -n size=8k,ftype=0 $p1
#
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/sf
$MKDIRRANGE $TEMP_DIR/sf 0 5 0 244
#
$MKDIRRANGE $TEMP_DIR/sf/d0000000002_xx 7 10 0 244
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v4_ftype0_s05k_b2k_n8k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 \
2023-01-09 03:04:24 +01:00
-d sectsize=512 -n size=8k,ftype=0 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/sf_empty
#
mkdir $TEMP_DIR/sf
$MKDIRRANGE $TEMP_DIR/sf 0 3 0 244
#
mkdir $TEMP_DIR/block
$MKDIRRANGE $TEMP_DIR/block 0 5 234 10
#
mkdir $TEMP_DIR/leaf
$MKDIRRANGE $TEMP_DIR/leaf 0 40 214 30
#
mkdir $TEMP_DIR/node
$MKDIRRANGE $TEMP_DIR/node 0 1100 0 23
#
mkdir $TEMP_DIR/btree_leaf
$MKDIRRANGE $TEMP_DIR/btree_leaf 0 1000 201 43
#
mkdir $TEMP_DIR/btree_leaf_free
$MKDIRRANGE $TEMP_DIR/btree_leaf_free 0 1200 201 43
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v4_ftype1_s05k_b2k_n8k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 \
2023-01-09 03:04:24 +01:00
-d sectsize=512 -n size=8k,ftype=1 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/sf_empty
#
mkdir $TEMP_DIR/sf
$MKDIRRANGE $TEMP_DIR/sf 0 3 0 244
#
mkdir $TEMP_DIR/block
$MKDIRRANGE $TEMP_DIR/block 0 5 234 10
#
mkdir $TEMP_DIR/leaf
$MKDIRRANGE $TEMP_DIR/leaf 0 40 214 30
#
mkdir $TEMP_DIR/node
$MKDIRRANGE $TEMP_DIR/node 0 1100 0 23
#
mkdir $TEMP_DIR/btree_leaf
$MKDIRRANGE $TEMP_DIR/btree_leaf 0 1000 201 43
#
mkdir $TEMP_DIR/btree_leaf_free
$MKDIRRANGE $TEMP_DIR/btree_leaf_free 0 1200 201 43
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v4_xattr.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -m crc=0,finobt=0,rmapbt=0,reflink=0 \
2023-01-09 03:04:24 +01:00
-d sectsize=512 -n ftype=0 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR -o attr2
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/sf
$MKDIRRANGE $TEMP_DIR/sf 0 900 0 244
#
mkdir $TEMP_DIR/leaf
$MKDIRRANGE $TEMP_DIR/leaf 0 600 0 244
#
mkdir $TEMP_DIR/node
$MKDIRRANGE $TEMP_DIR/node 0 600 0 244
#
mkdir $TEMP_DIR/btree
$MKDIRRANGE $TEMP_DIR/btree 0 600 0 244
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v4_btrees_l2.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=1k -m crc=0,finobt=0,rmapbt=0,reflink=0 \
2023-01-09 03:04:24 +01:00
-d sectsize=512 -n size=4k,ftype=1 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/dir_btree_l2
$MKDIRRANGE $TEMP_DIR/dir_btree_l2 0 193181 214 30
#
fallocate -l 4KiB $TEMP_DIR/file_btree_l2
for n in $(seq 1 4000); do
fallocate -i -l 4KiB -o 0KiB $TEMP_DIR/file_btree_l2
fallocate -z -l 4KiB -o 0KiB $TEMP_DIR/file_btree_l2
done
$MKFILEPATTERN $TEMP_DIR/file_btree_l2 0 16388096
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v4_files_s05k_b4k_n8k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=4k -m crc=0,finobt=0,rmapbt=0,reflink=0 \
2023-01-09 03:04:24 +01:00
-d sectsize=512 -n size=8k,ftype=0 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
$MKFILEPATTERN $TEMP_DIR/no_hole 0 65536
#
$MKFILEPATTERN $TEMP_DIR/hole_begin 0 65536
fallocate -p -o 0 -l 16KiB $TEMP_DIR/hole_begin
#
$MKFILEPATTERN $TEMP_DIR/hole_middle 0 65536
fallocate -p -o 32KiB -l 16KiB $TEMP_DIR/hole_middle
#
$MKFILEPATTERN $TEMP_DIR/hole_end 0 65536
fallocate -p -o 48KiB -l 16KiB $TEMP_DIR/hole_end
#
fallocate -l 4KiB $TEMP_DIR/btree_l1_no_hole
for n in $(seq 1 2000); do
fallocate -i -l 4KiB -o 0KiB $TEMP_DIR/btree_l1_no_hole
fallocate -z -l 4KiB -o 0KiB $TEMP_DIR/btree_l1_no_hole
done
$MKFILEPATTERN $TEMP_DIR/btree_l1_no_hole 0 8196096
#
# fallocate -l 5GiB $TEMP_DIR/4GiB_plus
$MKFILEPATTERN $TEMP_DIR/4GiB_plus 0x120008000 0x1000
$MKFILEPATTERN $TEMP_DIR/4GiB_plus 0x120000000 0x4000
$MKFILEPATTERN $TEMP_DIR/4GiB_plus 0xffffe000 0x4000
$MKFILEPATTERN $TEMP_DIR/4GiB_plus 0x4000 0x4000
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v4_ftype0_s4k_b4k_n8k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
sudo losetup -b 4096 $LOOP_DEV $img_raw
$SGDISK --clear --new=0:0:0 $LOOP_DEV > /dev/null
sudo losetup -d $LOOP_DEV
sudo losetup -b 4096 -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=4k -m crc=0,finobt=0,rmapbt=0,reflink=0 \
-d sectsize=4k -n size=8k,ftype=0 $p1
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/sf_empty
#
mkdir $TEMP_DIR/sf
$MKDIRRANGE $TEMP_DIR/sf 0 3 0 244
#
mkdir $TEMP_DIR/block
$MKDIRRANGE $TEMP_DIR/block 0 5 234 10
#
mkdir $TEMP_DIR/leaf
$MKDIRRANGE $TEMP_DIR/leaf 0 40 214 30
#
mkdir $TEMP_DIR/node
$MKDIRRANGE $TEMP_DIR/node 0 1100 0 23
#
mkdir $TEMP_DIR/btree_leaf
$MKDIRRANGE $TEMP_DIR/btree_leaf 0 1000 201 43
#
mkdir $TEMP_DIR/btree_leaf_free
$MKDIRRANGE $TEMP_DIR/btree_leaf_free 0 1200 201 43
#
sudo umount $TEMP_DIR
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v4_ftype0_s05k_b2k_n8k_xattr.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 \
2023-01-09 03:04:24 +01:00
-d sectsize=512 -n size=8k,ftype=0 $p1
2023-01-09 01:21:00 +01:00
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/sf_empty
setfattr -n user.pew_attr_pew -v pew_value_pew $TEMP_DIR/sf_empty
#
mkdir $TEMP_DIR/sf
setfattr -n user.pew_attr_pew -v pew_value_pew $TEMP_DIR/sf
$MKDIRRANGE $TEMP_DIR/sf 0 3 0 244
#
mkdir $TEMP_DIR/block
setfattr -n user.pew_attr_pew -v pew_value_pew $TEMP_DIR/block
$MKDIRRANGE $TEMP_DIR/block 0 5 234 10
#
mkdir $TEMP_DIR/leaf
setfattr -n user.pew_attr_pew -v pew_value_pew $TEMP_DIR/leaf
$MKDIRRANGE $TEMP_DIR/leaf 0 40 214 30
#
mkdir $TEMP_DIR/node
setfattr -n user.pew_attr_pew -v pew_value_pew $TEMP_DIR/node
$MKDIRRANGE $TEMP_DIR/node 0 1020 0 23
#
mkdir $TEMP_DIR/btree_leaf
setfattr -n user.pew_attr_pew -v pew_value_pew $TEMP_DIR/btree_leaf
$MKDIRRANGE $TEMP_DIR/btree_leaf 0 1000 201 43
#
mkdir $TEMP_DIR/btree_leaf_free
setfattr -n user.pew_attr_pew -v pew_value_pew $TEMP_DIR/btree_leaf_free
$MKDIRRANGE $TEMP_DIR/btree_leaf_free 0 1200 201 43
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v4_unicode.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -m crc=0,finobt=0,rmapbt=0,reflink=0 $p1
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir -p $TEMP_DIR/dir0
mkdir -p $TEMP_DIR/дир❦/дир11
mkdir -p $TEMP_DIR/❦❦❦/д❦р22
mkdir -p $TEMP_DIR/❦👩❦/
mkdir -p $TEMP_DIR/❦👩❦/👩❦❦/
mkdir -p $TEMP_DIR/❦👩❦/❦👩❦/
mkdir -p $TEMP_DIR/❦👩❦/❦❦👩/
mkdir $TEMP_DIR/дир3/
#
echo hello_world > $TEMP_DIR/dir0/file00
echo привет❦мир > $TEMP_DIR/❦❦❦/д❦р22/❦❦
echo привет💗мир > $TEMP_DIR/❦❦❦/д❦р22/💗💗
echo привет❦💗мир > $TEMP_DIR/дир3/файл33
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v5_ftype1_s05k_b2k_n8k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=2k -m crc=1,finobt=0,rmapbt=0,reflink=0 \
-d sectsize=512 -n size=8k,ftype=1 $p1
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/sf_empty
#
mkdir $TEMP_DIR/sf
$MKDIRRANGE $TEMP_DIR/sf 0 3 0 244
#
mkdir $TEMP_DIR/block
$MKDIRRANGE $TEMP_DIR/block 0 5 234 10
#
mkdir $TEMP_DIR/leaf
$MKDIRRANGE $TEMP_DIR/leaf 0 40 214 30
#
mkdir $TEMP_DIR/node
$MKDIRRANGE $TEMP_DIR/node 0 1100 0 23
#
mkdir $TEMP_DIR/btree_leaf
$MKDIRRANGE $TEMP_DIR/btree_leaf 0 1000 201 43
#
mkdir $TEMP_DIR/btree_leaf_free
$MKDIRRANGE $TEMP_DIR/btree_leaf_free 0 1200 201 43
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_v5_files_s05k_b4k_n8k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=4k -m crc=1,finobt=0,rmapbt=0,reflink=0 \
-d sectsize=512 -n size=8k,ftype=1 $p1
sudo mount $XFS_MOUNT_OPTS $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
$MKFILEPATTERN $TEMP_DIR/no_hole 0 65536
#
$MKFILEPATTERN $TEMP_DIR/hole_begin 0 65536
fallocate -p -o 0 -l 16KiB $TEMP_DIR/hole_begin
#
$MKFILEPATTERN $TEMP_DIR/hole_middle 0 65536
fallocate -p -o 32KiB -l 16KiB $TEMP_DIR/hole_middle
#
$MKFILEPATTERN $TEMP_DIR/hole_end 0 65536
fallocate -p -o 48KiB -l 16KiB $TEMP_DIR/hole_end
#
fallocate -l 4KiB $TEMP_DIR/btree_l1_no_hole
for n in $(seq 1 2000); do
fallocate -i -l 4KiB -o 0KiB $TEMP_DIR/btree_l1_no_hole
fallocate -z -l 4KiB -o 0KiB $TEMP_DIR/btree_l1_no_hole
done
$MKFILEPATTERN $TEMP_DIR/btree_l1_no_hole 0 8196096
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
fat32_test0.raw () {
local img=$FUNCNAME
2023-01-09 01:21:00 +01:00
fallocate -l 64MiB $img
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:0 $img > /dev/null
sudo losetup -P $LOOP_DEV $img
local p1="$LOOP_DEV"p1
$MKFS_FAT -n KOLIBRIOS -F 32 $p1 > /dev/null
sudo mount -o codepage=866,iocharset=utf8,umask=111,dmask=000 $p1 $TEMP_DIR
$RANDDIR $TEMP_DIR 1000 8 255 65536
2023-02-17 03:04:54 +01:00
$DIRTOTEST $TEMP_DIR $img hd0 > "../test/045/run.us"
2023-01-09 01:21:00 +01:00
# tree $TEMP_DIR
# du -sh $TEMP_DIR
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
}
exfat_s05k_c16k_b16k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_EXFAT -L KOLIBRIOS -c 16k -b 16k $p1 > /dev/null
sudo mount -o umask=111,dmask=000 $p1 $TEMP_DIR
mkdir $TEMP_DIR/dir_0
mkdir $TEMP_DIR/dir_1
touch $TEMP_DIR/dir_1/file000
mkdir $TEMP_DIR/dir_1000
$MKDIRRANGE $TEMP_DIR/dir_1000 0 1000 201 43
mkdir $TEMP_DIR/dir_10000
$MKDIRRANGE $TEMP_DIR/dir_10000 0 10000 201 43
# mkdir $TEMP_DIR/dir_100000
# $MKDIRRANGE $TEMP_DIR/dir_100000 0 100000 201 43
2023-01-09 01:21:00 +01:00
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
exfat_s05k_c8k_b8k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l $XFS_MIN_DISK_SIZE $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_EXFAT -L KOLIBRIOS -c 8k -b 8k $p1 > /dev/null
sudo mount -o umask=111,dmask=000 $p1 $TEMP_DIR
mkdir $TEMP_DIR/dir_000
echo -n '' > $TEMP_DIR/dir_000/file_000
mkdir $TEMP_DIR/dir_001
echo -n 'x' > $TEMP_DIR/dir_001/file_001
mkdir $TEMP_DIR/dir_002
echo -n 'x' > $TEMP_DIR/dir_002/file_002
mkdir $TEMP_DIR/dir_003
echo -n 'x' > $TEMP_DIR/dir_003/file_003
mkdir $TEMP_DIR/dir_004
echo -n 'x' > $TEMP_DIR/dir_004/file_004
mkdir $TEMP_DIR/dir_005
echo -n 'x' > $TEMP_DIR/dir_005/file_005
mkdir $TEMP_DIR/dir_006
echo -n 'x' > $TEMP_DIR/dir_006/file_006
mkdir $TEMP_DIR/dir_007
echo -n 'x' > $TEMP_DIR/dir_007/file_007
mkdir $TEMP_DIR/dir_008
echo -n 'x' > $TEMP_DIR/dir_008/file_008
mkdir $TEMP_DIR/dir_009
echo -n 'x' > $TEMP_DIR/dir_009/file_009
mkdir $TEMP_DIR/dir_010
echo -n 'x' > $TEMP_DIR/dir_010/file_010
mkdir $TEMP_DIR/dir_011
echo -n 'x' > $TEMP_DIR/dir_011/file_011
mkdir $TEMP_DIR/dir_012
echo -n 'x' > $TEMP_DIR/dir_012/file_012
mkdir $TEMP_DIR/dir_013
echo -n 'x' > $TEMP_DIR/dir_013/file_013
mkdir $TEMP_DIR/dir_014
echo -n 'x' > $TEMP_DIR/dir_014/file_014
mkdir $TEMP_DIR/dir_015
echo -n 'x' > $TEMP_DIR/dir_015/file_015
mkdir $TEMP_DIR/dir_016
echo -n 'x' > $TEMP_DIR/dir_016/file_016
mkdir $TEMP_DIR/dir_017
echo -n 'x' > $TEMP_DIR/dir_017/file_017
mkdir $TEMP_DIR/dir_018
echo -n 'x' > $TEMP_DIR/dir_018/file_018
mkdir $TEMP_DIR/dir_019
echo -n 'x' > $TEMP_DIR/dir_019/file_019
mkdir $TEMP_DIR/dir_020
echo -n 'x' > $TEMP_DIR/dir_020/file_020
mkdir $TEMP_DIR/dir_021
echo -n 'x' > $TEMP_DIR/dir_021/file_021
mkdir $TEMP_DIR/dir_022
echo -n 'x' > $TEMP_DIR/dir_022/file_022
mkdir $TEMP_DIR/dir_023
echo -n 'x' > $TEMP_DIR/dir_023/file_023
mkdir $TEMP_DIR/dir_024
echo -n 'x' > $TEMP_DIR/dir_024/file_024
mkdir $TEMP_DIR/dir_025
echo -n 'x' > $TEMP_DIR/dir_025/file_025
mkdir $TEMP_DIR/dir_026
echo -n 'x' > $TEMP_DIR/dir_026/file_026
mkdir $TEMP_DIR/dir_027
echo -n 'x' > $TEMP_DIR/dir_027/file_027
mkdir $TEMP_DIR/dir_028
echo -n 'x' > $TEMP_DIR/dir_028/file_028
mkdir $TEMP_DIR/dir_029
echo -n 'x' > $TEMP_DIR/dir_029/file_029
mkdir $TEMP_DIR/dir_030
echo -n 'x' > $TEMP_DIR/dir_030/file_030
mkdir $TEMP_DIR/dir_031
echo -n 'x' > $TEMP_DIR/dir_031/file_031
2023-01-09 01:21:00 +01:00
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
xfs_samehash_s05k.raw () {
local img=$FUNCNAME
# local img_raw=$(basename $img .qcow2).raw
local img_raw=$img
fallocate -l 1GiB $img_raw
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_XFS $XFS_MKFS_OPTS -b size=1k -m crc=1 $p1
sudo mount $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/dir_sf
$MKSAMEHASH $TEMP_DIR/dir_sf 2 -q
#
mkdir $TEMP_DIR/dir_block
$MKSAMEHASH $TEMP_DIR/dir_block 20 -q
#
mkdir $TEMP_DIR/dir_leaf
$MKSAMEHASH $TEMP_DIR/dir_leaf 100 -q
#
mkdir $TEMP_DIR/dir_node
$MKSAMEHASH $TEMP_DIR/dir_node 1000 -q
#
mkdir $TEMP_DIR/dir_btree_l1
$MKSAMEHASH $TEMP_DIR/dir_btree_l1 10000 -q
#
mkdir $TEMP_DIR/dir_btree_l2
$MKSAMEHASH $TEMP_DIR/dir_btree_l2 500000 -q
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
# qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
}
ext2_s05k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
fallocate -l 5GiB $img_raw
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_EXT2 $EXT_MKFS_OPTS -N 1200000 $p1
debugfs -w -R "set_super_value hash_seed $EXT_HASH_SEED" $p1 > /dev/null
sudo mount $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/dir_a
$MKDIRRANGE $TEMP_DIR/dir_a 0 3 0 1
#
mkdir $TEMP_DIR/dir_b
$MKDIRRANGE $TEMP_DIR/dir_b 0 10 0 1
#
mkdir $TEMP_DIR/dir_c
$MKDIRRANGE $TEMP_DIR/dir_c 0 100 0 1
#
mkdir $TEMP_DIR/dir_d
$MKDIRRANGE $TEMP_DIR/dir_d 0 1000 0 1
#
mkdir $TEMP_DIR/dir_e
$MKDIRRANGE $TEMP_DIR/dir_e 0 10000 0 1
#
mkdir $TEMP_DIR/dir_f
$MKDIRRANGE $TEMP_DIR/dir_f 0 64998 0 1
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
ext4_s05k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
fallocate -l 5GiB $img_raw
2023-01-09 01:21:00 +01:00
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_EXT4 $EXT_MKFS_OPTS -N 1200000 $p1
debugfs -w -R "set_super_value hash_seed $EXT_HASH_SEED" $p1 > /dev/null
sudo mount $p1 $TEMP_DIR
sudo chown $USER $TEMP_DIR -R
#
mkdir $TEMP_DIR/dir_a
$MKDIRRANGE $TEMP_DIR/dir_a 0 3 0 1
#
mkdir $TEMP_DIR/dir_b
$MKDIRRANGE $TEMP_DIR/dir_b 0 10 0 1
#
mkdir $TEMP_DIR/dir_c
$MKDIRRANGE $TEMP_DIR/dir_c 0 100 0 1
#
mkdir $TEMP_DIR/dir_d
$MKDIRRANGE $TEMP_DIR/dir_d 0 1000 0 1
#
mkdir $TEMP_DIR/dir_e
$MKDIRRANGE $TEMP_DIR/dir_e 0 10000 0 1
#
mkdir $TEMP_DIR/dir_f
$MKDIRRANGE $TEMP_DIR/dir_f 0 100000 0 1
#
mkdir $TEMP_DIR/dir_g
$MKDIRRANGE $TEMP_DIR/dir_g 0 1000000 0 1
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
fat12_s05k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l 256MiB $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_FAT -F 12 $p1 > /dev/null
sudo mount -o $FAT_MOUNT_OPTS $p1 $TEMP_DIR
#
mkdir $TEMP_DIR/dir_a
$MKDIRRANGE $TEMP_DIR/dir_a 0 3 0 1
#
mkdir $TEMP_DIR/dir_b
$MKDIRRANGE $TEMP_DIR/dir_b 0 10 0 1
#
mkdir $TEMP_DIR/dir_c
$MKDIRRANGE $TEMP_DIR/dir_c 0 100 0 1
#
mkdir $TEMP_DIR/dir_d
$MKDIRRANGE $TEMP_DIR/dir_d 0 1000 0 1
#
mkdir $TEMP_DIR/dir_e
$MKDIRRANGE $TEMP_DIR/dir_e 0 2000 0 1
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
fat16_s05k.qcow2 () {
local img=$FUNCNAME
local img_raw=$(basename $img .qcow2).raw
2023-01-09 01:21:00 +01:00
fallocate -l 4GiB $img_raw
$SGDISK --clear --new=0:0:0 $img_raw > /dev/null
sudo losetup -P $LOOP_DEV $img_raw
local p1="$LOOP_DEV"p1
$MKFS_FAT -F 16 $p1 > /dev/null
sudo mount -o $FAT_MOUNT_OPTS $p1 $TEMP_DIR
#
mkdir $TEMP_DIR/dir_a
$MKDIRRANGE $TEMP_DIR/dir_a 0 3 0 1
#
mkdir $TEMP_DIR/dir_b
$MKDIRRANGE $TEMP_DIR/dir_b 0 10 0 1
#
mkdir $TEMP_DIR/dir_c
$MKDIRRANGE $TEMP_DIR/dir_c 0 100 0 1
#
mkdir $TEMP_DIR/dir_d
$MKDIRRANGE $TEMP_DIR/dir_d 0 1000 0 1
#
mkdir $TEMP_DIR/dir_e
$MKDIRRANGE $TEMP_DIR/dir_e 0 10000 0 1
#
mkdir $TEMP_DIR/dir_f
$MKDIRRANGE $TEMP_DIR/dir_f 0 30000 0 1
#
sudo umount $TEMP_DIR
2023-01-09 01:21:00 +01:00
sudo losetup -d $LOOP_DEV
qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img
rm $img_raw
}
images=(gpt_large.qcow2 gpt_partitions_s05k.qcow2 gpt_partitions_s4k.qcow2
kolibri.raw jfs.qcow2 xfs_lookup_v4.qcow2 xfs_lookup_v5.qcow2
xfs_nrext64.qcow2 xfs_bigtime.qcow2 xfs_borg_bit.qcow2
xfs_short_dir_i8.qcow2 xfs_v4_ftype0_s05k_b2k_n8k.qcow2
xfs_v4_ftype1_s05k_b2k_n8k.qcow2 xfs_v4_xattr.qcow2
xfs_v4_btrees_l2.qcow2 xfs_v4_files_s05k_b4k_n8k.qcow2
xfs_v4_ftype0_s4k_b4k_n8k.qcow2 xfs_v4_ftype0_s05k_b2k_n8k_xattr.qcow2
xfs_v4_unicode.qcow2 xfs_v5_ftype1_s05k_b2k_n8k.qcow2
xfs_v5_files_s05k_b4k_n8k.qcow2 fat32_test0.raw
exfat_s05k_c16k_b16k.qcow2 exfat_s05k_c8k_b8k.qcow2
xfs_samehash_s05k.raw ext2_s05k.qcow2 ext4_s05k.qcow2 fat12_s05k.qcow2
fat16_s05k.qcow2)
TEMP_DIR=$(mktemp -d)
LOOP_DEV=$(losetup --find)
for image in ${images[*]}; do
if [ -f "$image" ]; then
echo "skipping $image"
continue
else
echo "generate $image"
$image
fi
done
sudo umount -q $TEMP_DIR
rmdir $TEMP_DIR