From eb243bf14f8f05a4ed681e158e8cc7e3b65b0c59 Mon Sep 17 00:00:00 2001 From: Ivan Baravy Date: Sat, 7 Jan 2023 02:51:46 +0000 Subject: [PATCH] Switch image generation from GNU Make to GNU Bash Should have been done long time ago. --- img/gen.sh | 829 +++++++++++++++++++++++++++++ img/makefile | 674 ----------------------- test/045_#f70_#fat32_test0.ref.log | 4 +- tools/dirtotest.py | 2 + umka_shell.c | 4 +- 5 files changed, 835 insertions(+), 678 deletions(-) create mode 100755 img/gen.sh delete mode 100644 img/makefile mode change 100644 => 100755 tools/dirtotest.py diff --git a/img/gen.sh b/img/gen.sh new file mode 100755 index 0000000..d99291b --- /dev/null +++ b/img/gen.sh @@ -0,0 +1,829 @@ +#!/bin/bash + +RANDDIR=../tools/randdir +MKDOUBLEDIRS=../tools/mkdoubledirs +MKFILEPATTERN=../tools/mkfilepattern +DIRTOTEST=../tools/dirtotest.py +MKSAMEHASH=../tools/mksamehash +MKDIRRANGE=../tools/mkdirrange +XFS_MIN_PART_SIZE="300MiB" +XFS_MKFS_OPTS="-q -i maxpct=0" +XFS_MOUNT_OPTS="-t xfs" +FAT_MOUNT_OPTS="umask=111,dmask=000" +QCOW2_OPTS="compat=v3,compression_type=zlib,encryption=off,extended_l2=off,preallocation=off" +NBD_DEV=/dev/nbd0 # FIXME + +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 + sudo parted --script --align optimal $NBD_DEV mktable gpt \ + mkpart part0 1MiB 1GiB \ + mkpart part1 1GiB 1TiB \ + mkpart part2 1TiB 1024TiB \ + mkpart part3 1024TiB 1048576TiB + sudo qemu-nbd -d $NBD_DEV > /dev/null +} + +gpt_partitions_s05k.qcow2 () { + local img=$FUNCNAME + local img_raw=$(basename $img .qcow2).raw + fallocate -l 1GiB $img_raw + parted --script --align optimal $img_raw mktable gpt \ + mkpart part0 1MiB 2MiB \ + mkpart part1 2MiB 3MiB \ + mkpart part2 4MiB 5MiB \ + mkpart part3 3MiB 4MiB \ + mkpart part4 5MiB 6MiB \ + mkpart part5 6MiB 7MiB \ + mkpart part6 7MiB 8MiB \ + mkpart part7 8MiB 9MiB \ + mkpart part8 9MiB 10MiB \ + mkpart part9 10MiB 11MiB \ + mkpart part10 11MiB 12MiB \ + mkpart part11 12MiB 13MiB \ + mkpart part12 13MiB 14MiB \ + mkpart part13 14MiB 15MiB \ + mkpart part14 15MiB 16MiB \ + mkpart part15 16MiB 17MiB \ + mkpart part16 17MiB 18MiB \ + mkpart part17 18MiB 19MiB \ + mkpart part18 19MiB 20MiB \ + mkpart part19 20MiB 21MiB \ + mkpart part20 21MiB 22MiB \ + mkpart part21 22MiB 23MiB \ + mkpart part22 23MiB 24MiB \ + mkpart part23 24MiB 25MiB + + 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 + fallocate -l 1GiB $img_raw + sudo losetup -b 4096 $LOOP_DEV $img_raw + sudo parted --script --align optimal $LOOP_DEV mktable gpt \ + mkpart part0 1MiB 2MiB \ + mkpart part1 2MiB 3MiB \ + mkpart part2 4MiB 5MiB \ + mkpart part3 3MiB 4MiB \ + mkpart part4 5MiB 6MiB \ + mkpart part5 6MiB 7MiB \ + mkpart part6 7MiB 8MiB \ + mkpart part7 8MiB 9MiB \ + mkpart part8 9MiB 10MiB \ + mkpart part9 10MiB 11MiB \ + mkpart part10 11MiB 12MiB \ + mkpart part11 12MiB 13MiB \ + mkpart part12 13MiB 14MiB \ + mkpart part13 14MiB 15MiB \ + mkpart part14 15MiB 16MiB \ + mkpart part15 16MiB 17MiB \ + mkpart part16 17MiB 18MiB \ + mkpart part17 18MiB 19MiB \ + mkpart part18 19MiB 20MiB \ + mkpart part19 20MiB 21MiB \ + mkpart part20 21MiB 22MiB \ + mkpart part21 22MiB 23MiB \ + mkpart part22 23MiB 24MiB \ + mkpart part23 24MiB 25MiB + 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 + fallocate -l 16MiB $img_raw + mkfs.jfs -q $img_raw > /dev/null + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l 10GiB $img_raw + mkfs.xfs $XFS_MKFS_OPTS -m crc=0 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + $MKDOUBLEDIRS $TEMP_DIR/dir_btree_l1b d 50000 +# + mkdir $TEMP_DIR/dir_btree_l1c + $MKDOUBLEDIRS $TEMP_DIR/dir_btree_l1c d 500000 +# + mkdir $TEMP_DIR/dir_btree_l2 + $MKDOUBLEDIRS $TEMP_DIR/dir_btree_l2 d 2000000 +# + sudo umount $TEMP_DIR + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l 10GiB $img_raw + mkfs.xfs $XFS_MKFS_OPTS -m crc=1 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + $MKDOUBLEDIRS $TEMP_DIR/dir_btree_l1b d 50000 +# + mkdir $TEMP_DIR/dir_btree_l1c + $MKDOUBLEDIRS $TEMP_DIR/dir_btree_l1c d 500000 +# + mkdir $TEMP_DIR/dir_btree_l2 + $MKDOUBLEDIRS $TEMP_DIR/dir_btree_l2 d 2000000 +# + sudo umount $TEMP_DIR + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l 3000MiB $img_raw + mkfs.xfs $XFS_MKFS_OPTS -i nrext64=1 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.xfs $XFS_MKFS_OPTS -m bigtime=1 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.xfs $XFS_MKFS_OPTS -n version=ci $img_raw + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + echo -en "\x00" > $img_raw + fallocate -i -o 0 -l 42TiB $img_raw + mkfs.xfs $XFS_MKFS_OPTS -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i size=256 -n size=8k,ftype=0 $img_raw +# + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable gpt + parted --script --align optimal $img_raw mkpart part0 1MiB 99% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.xfs $XFS_MKFS_OPTS -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=8k,ftype=0 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.xfs $XFS_MKFS_OPTS -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=8k,ftype=1 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.xfs $XFS_MKFS_OPTS -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n ftype=0 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.xfs $XFS_MKFS_OPTS -b size=1k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=4k,ftype=1 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.xfs $XFS_MKFS_OPTS -b size=4k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=8k,ftype=0 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + 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 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + sudo losetup -b 4096 $LOOP_DEV $img_raw + sudo parted --script --align optimal $LOOP_DEV mktable msdos \ + mkpart primary 1MiB 100% + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.xfs $XFS_MKFS_OPTS -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=8k,ftype=0 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.xfs $XFS_MKFS_OPTS -m crc=0,finobt=0,rmapbt=0,reflink=0 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + 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 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + 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 $img_raw + sudo mount $XFS_MOUNT_OPTS $img_raw $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 + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + qemu-img convert -m 2 -O qcow2 -o $QCOW2_OPTS $img_raw $img + rm $img_raw +} + +fat32_test0.raw () { + local img=$FUNCNAME + fallocate -l 64MiB $img + mkfs.fat -n KOLIBRIOS -F 32 $img > /dev/null + sudo mount -o codepage=866,iocharset=utf8,umask=111,dmask=000 $img $TEMP_DIR + $RANDDIR $TEMP_DIR 1000 8 255 65536 + $DIRTOTEST $TEMP_DIR $img hd0 > "../test/045_#f70_#fat32_test0.t" + tree $TEMP_DIR + du -sh $TEMP_DIR + sudo umount $TEMP_DIR +} + +exfat_s05k_c16k_b16k.qcow2 () { + local img=$FUNCNAME + local img_raw=$(basename $img .qcow2).raw + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.exfat -L KOLIBRIOS -c 16k -b 16k $img_raw > /dev/null + sudo mount -o codepage=866,iocharset=utf8,umask=111,dmask=000 $img_raw $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 + sudo umount $TEMP_DIR + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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 + + fallocate -l $XFS_MIN_PART_SIZE $img_raw + mkfs.exfat -L KOLIBRIOS -c 8k -b 8k $img_raw > /dev/null + sudo mount -o codepage=866,iocharset=utf8,umask=111,dmask=000 $img_raw $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 + sudo umount $TEMP_DIR + fallocate -i -o 0 -l 1MiB $img_raw + parted --script --align optimal $img_raw mktable msdos + parted --script --align optimal $img_raw mkpart primary 1MiB 100% + + 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) + +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 diff --git a/img/makefile b/img/makefile deleted file mode 100644 index 8226793..0000000 --- a/img/makefile +++ /dev/null @@ -1,674 +0,0 @@ -RANDDIR=../tools/randdir -MKDIRRANGE=../tools/mkdirrange -MKDOUBLEDIRS=../tools/mkdoubledirs -MKFILEPATTERN=../tools/mkfilepattern -DIRTOTEST=python3 ../tools/dirtotest.py -XFS_MOUNT_OPT=-t xfs -TEMP_DIR:=$(shell mktemp -d) -LOOP_DEV=$(shell losetup --find) -NBD_DEV=/dev/nbd0 -XFS_MIN_PART_SIZE=300MiB -QCOW2_OPTS=compat=v3,compression_type=zlib,encryption=off,extended_l2=off,preallocation=off - -all: s05k s4k unicode v5 kolibri.raw fat32_test0.raw coverage gpt - rmdir $(TEMP_DIR) - -s05k: xfs_v4_ftype0_s05k_b2k_n8k.qcow2 xfs_v4_ftype1_s05k_b2k_n8k.qcow2 \ - xfs_v4_xattr.qcow2 xfs_v4_files_s05k_b4k_n8k.qcow2 \ - xfs_v4_ftype0_s05k_b2k_n8k_xattr.qcow2 xfs_v4_btrees_l2.qcow2 \ - xfs_short_dir_i8.qcow2 exfat_s05k_c8k_b8k.qcow2 \ - exfat_s05k_c16k_b16k.qcow2 gpt_partitions_s05k.qcow2 - -s4k: xfs_v4_ftype0_s4k_b4k_n8k.qcow2 gpt_partitions_s4k.qcow2 - -unicode: xfs_v4_unicode.qcow2 - -v5: xfs_v5_ftype1_s05k_b2k_n8k.qcow2 xfs_v5_files_s05k_b4k_n8k.qcow2 \ - xfs_bigtime.qcow2 xfs_nrext64.qcow2 xfs_lookup_v5.qcow2 xfs_lookup_v4.qcow2 - -coverage: jfs.qcow2 xfs_borg_bit.qcow2 xfs_short_dir_i8.qcow2 - -gpt: gpt_partitions_s05k.qcow2 gpt_partitions_s4k.qcow2 gpt_large.qcow2 - -%.qcow2: %.raw - qemu-img convert -m 2 -O qcow2 -o $(QCOW2_OPTS) $< $@ - rm $< - -gpt_large.qcow2: - qemu-img create -f qcow2 -o $(QCOW2_OPTS),cluster_size=2097152 $@ 2E - sudo qemu-nbd -c $(NBD_DEV) $@ - sudo parted --script --align optimal $(NBD_DEV) mktable gpt \ - mkpart part0 1MiB 1GiB \ - mkpart part1 1GiB 1TiB \ - mkpart part2 1TiB 1024TiB \ - mkpart part3 1024TiB 1048576TiB - sudo qemu-nbd -d $(NBD_DEV) - -gpt_partitions_s05k.raw: - fallocate -l 1GiB $@ - parted --script --align optimal $@ mktable gpt \ - mkpart part0 1MiB 2MiB \ - mkpart part1 2MiB 3MiB \ - mkpart part2 4MiB 5MiB \ - mkpart part3 3MiB 4MiB \ - mkpart part4 5MiB 6MiB \ - mkpart part5 6MiB 7MiB \ - mkpart part6 7MiB 8MiB \ - mkpart part7 8MiB 9MiB \ - mkpart part8 9MiB 10MiB \ - mkpart part9 10MiB 11MiB \ - mkpart part10 11MiB 12MiB \ - mkpart part11 12MiB 13MiB \ - mkpart part12 13MiB 14MiB \ - mkpart part13 14MiB 15MiB \ - mkpart part14 15MiB 16MiB \ - mkpart part15 16MiB 17MiB \ - mkpart part16 17MiB 18MiB \ - mkpart part17 18MiB 19MiB \ - mkpart part18 19MiB 20MiB \ - mkpart part19 20MiB 21MiB \ - mkpart part20 21MiB 22MiB \ - mkpart part21 22MiB 23MiB \ - mkpart part22 23MiB 24MiB \ - mkpart part23 24MiB 25MiB - -gpt_partitions_s4k.raw: - fallocate -l 1GiB $@ - sudo losetup -b 4096 $(LOOP_DEV) $@ - sudo parted --script --align optimal $(LOOP_DEV) mktable gpt \ - mkpart part0 1MiB 2MiB \ - mkpart part1 2MiB 3MiB \ - mkpart part2 4MiB 5MiB \ - mkpart part3 3MiB 4MiB \ - mkpart part4 5MiB 6MiB \ - mkpart part5 6MiB 7MiB \ - mkpart part6 7MiB 8MiB \ - mkpart part7 8MiB 9MiB \ - mkpart part8 9MiB 10MiB \ - mkpart part9 10MiB 11MiB \ - mkpart part10 11MiB 12MiB \ - mkpart part11 12MiB 13MiB \ - mkpart part12 13MiB 14MiB \ - mkpart part13 14MiB 15MiB \ - mkpart part14 15MiB 16MiB \ - mkpart part15 16MiB 17MiB \ - mkpart part16 17MiB 18MiB \ - mkpart part17 18MiB 19MiB \ - mkpart part18 19MiB 20MiB \ - mkpart part19 20MiB 21MiB \ - mkpart part20 21MiB 22MiB \ - mkpart part21 22MiB 23MiB \ - mkpart part22 23MiB 24MiB \ - mkpart part23 24MiB 25MiB - sudo losetup -d $(LOOP_DEV) - -kolibri.raw: ../default.skn ../fill.cur - touch $@ - fallocate -z -o 0 -l 1440KiB $@ - mkfs.vfat -n KOLIBRIOS -F 12 $@ - mcopy -vmoi $@ ../default.skn ::DEFAULT.SKN - mcopy -vmoi $@ ../fill.cur ::FILL.CUR - mcopy -vmoi $@ ../spray.cur ::SPRAY.CUR - mcopy -vmoi $@ ../apps/board_cycle ::LOADER - mmd -i $@ ::LIB - mcopy -vmoi $@ ../network.obj ::LIB/NETWORK.OBJ - -jfs.raw: - fallocate -l 16MiB $@ - mkfs.jfs -q $@ - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_lookup_v4.raw: - fallocate -l 10GiB $@ - mkfs.xfs -m crc=0 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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 - $(MKDOUBLEDIRS) $(TEMP_DIR)/dir_btree_l1b d 50000 -# - mkdir $(TEMP_DIR)/dir_btree_l1c - $(MKDOUBLEDIRS) $(TEMP_DIR)/dir_btree_l1c d 500000 -# - mkdir $(TEMP_DIR)/dir_btree_l2 - $(MKDOUBLEDIRS) $(TEMP_DIR)/dir_btree_l2 d 2000000 -# - sudo umount $(TEMP_DIR) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_lookup_v5.raw: - fallocate -l 10GiB $@ - mkfs.xfs -m crc=1 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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 - $(MKDOUBLEDIRS) $(TEMP_DIR)/dir_btree_l1b d 50000 -# - mkdir $(TEMP_DIR)/dir_btree_l1c - $(MKDOUBLEDIRS) $(TEMP_DIR)/dir_btree_l1c d 500000 -# - mkdir $(TEMP_DIR)/dir_btree_l2 - $(MKDOUBLEDIRS) $(TEMP_DIR)/dir_btree_l2 d 2000000 -# - sudo umount $(TEMP_DIR) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_nrext64.raw: - fallocate -l 3000MiB $@ - mkfs.xfs -i nrext64=1 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_bigtime.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -m bigtime=1 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_borg_bit.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -n version=ci $@ - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_short_dir_i8.raw: - echo -en "\x00" > $@ - fallocate -i -o 0 -l 42TiB $@ - mkfs.xfs -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100,size=256 -n size=8k,ftype=0 $@ -# - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable gpt - parted --script --align optimal $@ mkpart part0 1MiB 99% - -xfs_v4_ftype0_s05k_b2k_n8k.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=8k,ftype=0 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_v4_ftype1_s05k_b2k_n8k.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=8k,ftype=1 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_v4_xattr.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n ftype=0 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_v4_btrees_l2.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -b size=1k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=4k,ftype=1 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_v4_files_s05k_b4k_n8k.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -b size=4k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=8k,ftype=0 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_v4_ftype0_s4k_b4k_n8k.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -b size=4k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=4k -i maxpct=100 -n size=8k,ftype=0 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - sudo losetup -b 4096 $(LOOP_DEV) $@ - sudo parted --script --align optimal $(LOOP_DEV) mktable msdos \ - mkpart primary 1MiB 100% - sudo losetup -d $(LOOP_DEV) - -xfs_v4_ftype0_s05k_b2k_n8k_xattr.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=8k,ftype=0 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_v4_unicode.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -m crc=0,finobt=0,rmapbt=0,reflink=0 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_v5_ftype1_s05k_b2k_n8k.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -b size=2k -m crc=1,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=8k,ftype=1 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -xfs_v5_files_s05k_b4k_n8k.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.xfs -b size=4k -m crc=1,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=8k,ftype=1 $@ - sudo mount $(XFS_MOUNT_OPT) $@ $(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) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -fat32_test0.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.fat -n KOLIBRIOS -F 32 $@ - sudo mount -o codepage=866,iocharset=utf8,umask=111,dmask=000 $@ $(TEMP_DIR) - $(RANDDIR) $(TEMP_DIR) 1000 8 255 65536 - $(DIRTOTEST) $(TEMP_DIR) fat32_test0.raw hd0 > ../test/045_#f70_#fat32_test0.t - tree $(TEMP_DIR) - du -sh $(TEMP_DIR) - sudo umount $(TEMP_DIR) - -exfat_s05k_c16k_b16k.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.exfat -L KOLIBRIOS -c 16k -b 16k $@ - sudo mount -o codepage=866,iocharset=utf8,umask=111,dmask=000 $@ $(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 - sudo umount $(TEMP_DIR) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - -exfat_s05k_c8k_b8k.raw: - fallocate -l $(XFS_MIN_PART_SIZE) $@ - mkfs.exfat -L KOLIBRIOS -c 8k -b 8k $@ - sudo mount -o codepage=866,iocharset=utf8,umask=111,dmask=000 $@ $(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 - sudo umount $(TEMP_DIR) - fallocate -i -o 0 -l 1MiB $@ - parted --script --align optimal $@ mktable msdos - parted --script --align optimal $@ mkpart primary 1MiB 100% - diff --git a/test/045_#f70_#fat32_test0.ref.log b/test/045_#f70_#fat32_test0.ref.log index ba460e2..4353ea7 100644 --- a/test/045_#f70_#fat32_test0.ref.log +++ b/test/045_#f70_#fat32_test0.ref.log @@ -1,7 +1,7 @@ /> umka_init /> disk_add ../img/fat32_test0.raw hd0 -c 0 -/hd0: sector_size=512, capacity=614400 (300 MiB), num_partitions=1 -/hd0/1: fs=fat, start=0 (0 EiB), length=614376 (307188 kiB) +/hd0: sector_size=512, capacity=131072 (64 MiB), num_partitions=1 +/hd0/1: fs=fat, start=0 (0 EiB), length=131072 (64 MiB) /> ls80 /hd0/1/ status = 0 success, count = 100 total = 107 diff --git a/tools/dirtotest.py b/tools/dirtotest.py old mode 100644 new mode 100755 index bbca676..c7327a5 --- a/tools/dirtotest.py +++ b/tools/dirtotest.py @@ -1,3 +1,5 @@ +#!/bin/env python3 +# # SPDX-License-Identifier: GPL-2.0-or-later # # UMKa - User-Mode KolibriOS developer tools diff --git a/umka_shell.c b/umka_shell.c index 5b7b78a..d824667 100644 --- a/umka_shell.c +++ b/umka_shell.c @@ -92,11 +92,11 @@ main(int argc, char **argv) { } } if (infile && !freopen(infile, "r", stdin)) { - fprintf(stderr, "[!] can't open file for reading: %s", infile); + fprintf(stderr, "[!] can't open file for reading: %s\n", infile); exit(1); } if (outfile && !freopen(outfile, "w", stdout)) { - fprintf(stderr, "[!] can't open file for writing: %s", outfile); + fprintf(stderr, "[!] can't open file for writing: %s\n", outfile); exit(1); }