Add tests for xfs v5 disk format.

This commit is contained in:
Ivan Baravy 2020-01-28 01:54:57 +03:00
parent 4a242557b5
commit 0ea4945923
15 changed files with 4485 additions and 22 deletions

View File

@ -3,15 +3,17 @@ MKFILEPATTERN=../tools/mkfilepattern
MOUNT_OPT=-t xfs
TEMP_DIR:=$(shell mktemp -d)
all: s05k s4k unicode
all: s05k s4k unicode v5
rmdir $(TEMP_DIR)
s05k: xfs_v4_ftype0_s05k_b2k_n8k.img xfs_v4_ftype1_s05k_b2k_n8k.img xfs_v4_xattr.img xfs_v4_files_s05k_b4k_n8k.img xfs_v4_deep_btree_dirs.img xfs_v4_ftype0_s05k_b2k_n8k_xattr.img
s05k: xfs_v4_ftype0_s05k_b2k_n8k.img xfs_v4_ftype1_s05k_b2k_n8k.img xfs_v4_xattr.img xfs_v4_files_s05k_b4k_n8k.img xfs_v4_ftype0_s05k_b2k_n8k_xattr.img
s4k: xfs_v4_ftype0_s4k_b4k_n8k.img
unicode: xfs_v4_unicode.img
v5: xfs_v5_ftype1_s05k_b2k_n8k.img xfs_v5_files_s05k_b4k_n8k.img
xfs_v4_ftype0_s05k_b2k_n8k.img:
fallocate -l 63MiB $@
sudo 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 $@
@ -104,7 +106,8 @@ xfs_v4_deep_btree_dirs.img:
sudo chown $$USER $(TEMP_DIR) -R
#
mkdir $(TEMP_DIR)/btree
$(MKDIRRANGE) $(TEMP_DIR)/btree 0 293181 0 244
# $(MKDIRRANGE) $(TEMP_DIR)/btree 0 293181 0 244
$(MKDIRRANGE) $(TEMP_DIR)/btree 0 193181 0 244
#
sudo umount $(TEMP_DIR)
fallocate -i -o 0 -l 1MiB $@
@ -234,3 +237,64 @@ xfs_v4_unicode.img:
parted --script $@ mktable gpt
parted --script --align optimal $@ mkpart primary 1MiB 100%
xfs_v5_ftype1_s05k_b2k_n8k.img:
fallocate -l 63MiB $@
sudo 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 $(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 $@ mktable gpt
parted --script --align optimal $@ mkpart primary 1MiB 100%
xfs_v5_files_s05k_b4k_n8k.img:
fallocate -l 127MiB $@
sudo mkfs.xfs -b size=4k -m crc=1,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=8k,ftype=1 $@
sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
sudo chown $$USER $(TEMP_DIR) -R
#
$(MKFILEPATTERN) $(TEMP_DIR)/no_hole 65536
#
$(MKFILEPATTERN) $(TEMP_DIR)/hole_begin 65536
fallocate -p -o 0 -l 16KiB $(TEMP_DIR)/hole_begin
#
$(MKFILEPATTERN) $(TEMP_DIR)/hole_middle 65536
fallocate -p -o 32KiB -l 16KiB $(TEMP_DIR)/hole_middle
#
$(MKFILEPATTERN) $(TEMP_DIR)/hole_end 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 8196096
#
sudo umount $(TEMP_DIR)
fallocate -i -o 0 -l 1MiB $@
parted --script $@ mktable gpt
parted --script --align optimal $@ mkpart primary 1MiB 100%

20
kofu.c
View File

@ -1,3 +1,21 @@
/*
kofu: KolibriOS kernel FS code as userspace interactive shell in Linux
Copyright (C) 2018--2020 Ivan Baravy <dunkaist@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdbool.h>
#include <stdint.h>
@ -268,7 +286,7 @@ void ls_all(f7080s1arg_t *fX0, f70or80_t f70or80) {
void kofu_ls(int argc, const char **argv, f70or80_t f70or80) {
(void)argc;
uint32_t encoding = UTF8;
uint32_t encoding = DEFAULT_PATH_ENCODING;
size_t bdfe_len = (encoding == CP866) ? BDFE_LEN_CP866 : BDFE_LEN_UNICODE;
f7080s1info_t *dir = (f7080s1info_t*)malloc(sizeof(f7080s1info_t) + bdfe_len * MAX_DIRENTS_TO_READ);
f7080s1arg_t fX0 = {.sf = 1, .offset = 0, .encoding = encoding, .size = MAX_DIRENTS_TO_READ, .buf = dir};

View File

@ -1,6 +1,6 @@
/*
Kofuse: KolibriOS kernel FS code as FUSE in Linux
Copyright (C) 2018--2019 Ivan Baravy <dunkaist@gmail.com>
kofuse: KolibriOS kernel FS code as FUSE in Linux
Copyright (C) 2018--2020 Ivan Baravy <dunkaist@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@ -108,7 +108,7 @@ fe
status = 0 success, count = 1
ff
/> read70 /hd0/1/no_hole 0x10000 1 -b
status = 6 end_of_file, count = 0
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x10001 1 -b
status = 6 end_of_file, count = 0
@ -160,16 +160,16 @@ f4fff6fff8fffafffcfffe
status = 0 success, count = 11
fff6fff8fffafffcfffeff
/> read70 /hd0/1/no_hole 0xfff6 11 -b
status = 6 end_of_file, count = 10
status = 0 success, count = 10
f6fff8fffafffcfffeff
/> read70 /hd0/1/no_hole 0xfffe 11 -b
status = 6 end_of_file, count = 2
status = 0 success, count = 2
feff
/> read70 /hd0/1/no_hole 0xffff 11 -b
status = 6 end_of_file, count = 1
status = 0 success, count = 1
ff
/> read70 /hd0/1/no_hole 0x10000 11 -b
status = 6 end_of_file, count = 0
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x10001 11 -b
status = 6 end_of_file, count = 0

View File

@ -218,7 +218,7 @@ status = 0 success, count = 1
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_end 0x10000 1 -b
status = 6 end_of_file, count = 0
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0x10001 1 -b
status = 6 end_of_file, count = 0
@ -255,19 +255,19 @@ status = 0 success, count = 11
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_end 0xfff6 11 -b
status = 6 end_of_file, count = 10
status = 0 success, count = 10
00000000000000000000
/> read70 /hd0/1/hole_end 0xfff7 11 -b
status = 6 end_of_file, count = 9
status = 0 success, count = 9
000000000000000000
/> read70 /hd0/1/hole_end 0xfffe 11 -b
status = 6 end_of_file, count = 2
status = 0 success, count = 2
0000
/> read70 /hd0/1/hole_end 0xffff 11 -b
status = 6 end_of_file, count = 1
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_end 0x10000 11 -b
status = 6 end_of_file, count = 0
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0x10001 11 -b
status = 6 end_of_file, count = 0

View File

@ -62,16 +62,16 @@ attr: -----
size: 26
/> read80 /hd0/1/dir0/file00 0 100 -b
status = 6 end_of_file, count = 12
status = 0 success, count = 12
68656c6c6f5f776f726c640a
/> read80 /hd0/1/dir0/file00/ 0 100 -b
status = 6 end_of_file, count = 12
status = 0 success, count = 12
68656c6c6f5f776f726c640a
/> read80 /hd0/1/❦❦❦/д❦р22/❦❦ 0 100 -b
status = 6 end_of_file, count = 22
status = 0 success, count = 22
d0bfd180d0b8d0b2d0b5d182e29da6d0bcd0b8d1800a
/> read80 /hd0/1/дир3/файл33 0 100 -b
status = 6 end_of_file, count = 26
status = 0 success, count = 26
d0bfd180d0b8d0b2d0b5d182e29da6f09f9297d0bcd0b8d1800a
/> disk_del hd0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,9 @@
disk_add ../img/xfs_v5_ftype1_s05k_b2k_n8k.img hd0
ls70 /hd0/1/sf_empty
ls70 /hd0/1/sf
ls70 /hd0/1/block
ls70 /hd0/1/leaf
ls70 /hd0/1/node
ls70 /hd0/1/btree_leaf
ls70 /hd0/1/btree_leaf_free
disk_del hd0

View File

@ -0,0 +1,183 @@
/> disk_add ../img/xfs_v5_ftype1_s05k_b2k_n8k.img hd0
/hd0/1: xfs
/> stat70 /hd0/1/sf_empty
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf_empty/.
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf_empty/..
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf_empty/deadbeef
status = 5 file_not_found
/> stat70 /hd0/1/sf/.
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf/..
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf///
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf///.
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf///..
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf/../sf
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf/../sf/
status = 0 success
attr: ----f
#stat70 /hd0/1/sf///..//sf
#stat70 /hd0/1/sf///..//sf/
/> stat70 /hd0/1/sf/d0000000000_
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf/d0000000001_x
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf/d0000000002_xx
status = 0 success
attr: ----f
/> stat70 /hd0/1/sf/d0000000003_xxx
status = 5 file_not_found
/> cd /hd0/1/sf
sf> stat70 .
status = 0 success
attr: ----f
sf> stat70 ..
status = 0 success
attr: ----f
sf> stat70 d0000000001_x
status = 0 success
attr: ----f
sf> stat70 d0000000002_xx
status = 0 success
attr: ----f
sf> stat70 d0000000003_xxx
status = 5 file_not_found
sf> cd /hd0/1/block
block> stat70 .
status = 0 success
attr: ----f
block> stat70 ..
status = 0 success
attr: ----f
block> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
block> stat70 d0000000001_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
block> stat70 d0000000002_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
block> stat70 d0000000003_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
block> stat70 d0000000004_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
block> stat70 d0000000005_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 5 file_not_found
block> cd /hd0/1/leaf
leaf> stat70 .
status = 0 success
attr: ----f
leaf> stat70 ..
status = 0 success
attr: ----f
leaf> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
leaf> stat70 d0000000001_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
leaf> stat70 d0000000039_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
leaf> stat70 d0000000040_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 5 file_not_found
leaf> cd /hd0/1/node
node> stat70 d0000000000_
status = 0 success
attr: ----f
node> stat70 d0000000001_x
status = 0 success
attr: ----f
node> stat70 d0000000002_xx
status = 0 success
attr: ----f
node> stat70 d0000000003_xxx
status = 0 success
attr: ----f
node> stat70 d0000000004_xxxx
status = 0 success
attr: ----f
node> stat70 d0000001095_xxxxxxxxxxxxxx
status = 0 success
attr: ----f
node> stat70 d0000001096_xxxxxxxxxxxxxxx
status = 0 success
attr: ----f
node> stat70 d0000001097_xxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
node> stat70 d0000001098_xxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
node> stat70 d0000001099_xxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
node> cd /hd0/1/btree_leaf
btree_leaf> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf> stat70 d0000000001_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf> stat70 d0000000002_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf> stat70 d0000000997_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf> stat70 d0000000998_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf> stat70 d0000000999_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf> cd /hd0/1/btree_leaf_free
btree_leaf_free> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf_free> stat70 d0000000001_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf_free> stat70 d0000000002_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf_free> stat70 d0000001197_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf_free> stat70 d0000001198_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf_free> stat70 d0000001199_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status = 0 success
attr: ----f
btree_leaf_free> disk_del hd0

View File

@ -0,0 +1,75 @@
disk_add ../img/xfs_v5_ftype1_s05k_b2k_n8k.img hd0
stat70 /hd0/1/sf_empty
stat70 /hd0/1/sf_empty/.
stat70 /hd0/1/sf_empty/..
stat70 /hd0/1/sf_empty/deadbeef
stat70 /hd0/1/sf/.
stat70 /hd0/1/sf/..
stat70 /hd0/1/sf///
stat70 /hd0/1/sf///.
stat70 /hd0/1/sf///..
stat70 /hd0/1/sf/../sf
stat70 /hd0/1/sf/../sf/
#stat70 /hd0/1/sf///..//sf
#stat70 /hd0/1/sf///..//sf/
stat70 /hd0/1/sf/d0000000000_
stat70 /hd0/1/sf/d0000000001_x
stat70 /hd0/1/sf/d0000000002_xx
stat70 /hd0/1/sf/d0000000003_xxx
cd /hd0/1/sf
stat70 .
stat70 ..
stat70 d0000000001_x
stat70 d0000000002_xx
stat70 d0000000003_xxx
cd /hd0/1/block
stat70 .
stat70 ..
stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000001_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000002_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000003_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000004_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000005_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cd /hd0/1/leaf
stat70 .
stat70 ..
stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000001_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000039_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000040_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cd /hd0/1/node
stat70 d0000000000_
stat70 d0000000001_x
stat70 d0000000002_xx
stat70 d0000000003_xxx
stat70 d0000000004_xxxx
stat70 d0000001095_xxxxxxxxxxxxxx
stat70 d0000001096_xxxxxxxxxxxxxxx
stat70 d0000001097_xxxxxxxxxxxxxxxx
stat70 d0000001098_xxxxxxxxxxxxxxxxx
stat70 d0000001099_xxxxxxxxxxxxxxxxxx
cd /hd0/1/btree_leaf
stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000001_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000002_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000997_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000998_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000999_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cd /hd0/1/btree_leaf_free
stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000001_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000000002_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000001197_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000001198_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
stat70 d0000001199_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
disk_del hd0

View File

@ -0,0 +1,274 @@
/> disk_add ../img/xfs_v5_files_s05k_b4k_n8k.img hd0
/hd0/1: xfs
# hole begin
# zero length
/> read70 /hd0/1/hole_begin 0 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_begin 1 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_begin 0x3ffe 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_begin 0x3fff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_begin 0x4000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_begin 0x4001 0 -b
status = 0 success, count = 0
# one-byte length
/> read70 /hd0/1/hole_begin 0 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_begin 1 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_begin 0x3ffe 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_begin 0x3fff 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_begin 0x4000 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_begin 0x4001 1 -b
status = 0 success, count = 1
40
# fixed-size block, different begin/end positions
/> read70 /hd0/1/hole_begin 0 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_begin 1 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_begin 0x3ff4 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_begin 0x3ff5 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_begin 0x3ff6 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_begin 0x3ff7 11 -b
status = 0 success, count = 11
0000000000000000000040
/> read70 /hd0/1/hole_begin 0x3ffe 11 -b
status = 0 success, count = 11
0000004002400440064008
/> read70 /hd0/1/hole_begin 0x3fff 11 -b
status = 0 success, count = 11
0000400240044006400840
/> read70 /hd0/1/hole_begin 0x4000 11 -b
status = 0 success, count = 11
004002400440064008400a
/> read70 /hd0/1/hole_begin 0x4001 11 -b
status = 0 success, count = 11
4002400440064008400a40
# hole middle
# zero length
/> read70 /hd0/1/hole_middle 0x7ffe 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_middle 0x7fff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_middle 0x8000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_middle 0x8001 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_middle 0xbffe 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_middle 0xbfff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_middle 0xc000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_middle 0xc001 0 -b
status = 0 success, count = 0
# one-byte length
/> read70 /hd0/1/hole_middle 0x7ffe 1 -b
status = 0 success, count = 1
fe
/> read70 /hd0/1/hole_middle 0x7fff 1 -b
status = 0 success, count = 1
7f
/> read70 /hd0/1/hole_middle 0x8000 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_middle 0x8001 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_middle 0xbffe 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_middle 0xbfff 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_middle 0xc000 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_middle 0xc001 1 -b
status = 0 success, count = 1
c0
# fixed-size block, different begin/end positions
/> read70 /hd0/1/hole_middle 0x7ff4 11 -b
status = 0 success, count = 11
f47ff67ff87ffa7ffc7ffe
/> read70 /hd0/1/hole_middle 0x7ff5 11 -b
status = 0 success, count = 11
7ff67ff87ffa7ffc7ffe7f
/> read70 /hd0/1/hole_middle 0x7ff6 11 -b
status = 0 success, count = 11
f67ff87ffa7ffc7ffe7f00
/> read70 /hd0/1/hole_middle 0x7ff7 11 -b
status = 0 success, count = 11
7ff87ffa7ffc7ffe7f0000
/> read70 /hd0/1/hole_middle 0x7ffe 11 -b
status = 0 success, count = 11
fe7f000000000000000000
/> read70 /hd0/1/hole_middle 0x7fff 11 -b
status = 0 success, count = 11
7f00000000000000000000
/> read70 /hd0/1/hole_middle 0x8000 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_middle 0x8001 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_middle 0xbff4 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_middle 0xbff5 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_middle 0xbff6 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_middle 0xbff7 11 -b
status = 0 success, count = 11
00000000000000000000c0
/> read70 /hd0/1/hole_middle 0xbffe 11 -b
status = 0 success, count = 11
000000c002c004c006c008
/> read70 /hd0/1/hole_middle 0xbfff 11 -b
status = 0 success, count = 11
0000c002c004c006c008c0
/> read70 /hd0/1/hole_middle 0xc000 11 -b
status = 0 success, count = 11
00c002c004c006c008c00a
/> read70 /hd0/1/hole_middle 0xc001 11 -b
status = 0 success, count = 11
c002c004c006c008c00ac0
# hole end
# zero length
/> read70 /hd0/1/hole_end 0xbffe 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0xbfff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0xc000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0xc001 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0xfffe 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0xffff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0x10000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0x10001 0 -b
status = 0 success, count = 0
# one-byte length
/> read70 /hd0/1/hole_end 0xbffe 1 -b
status = 0 success, count = 1
fe
/> read70 /hd0/1/hole_end 0xbfff 1 -b
status = 0 success, count = 1
bf
/> read70 /hd0/1/hole_end 0xc000 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_end 0xc001 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_end 0xfffe 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_end 0xffff 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_end 0x10000 1 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0x10001 1 -b
status = 6 end_of_file, count = 0
# fixed-size block, different begin/end positions
/> read70 /hd0/1/hole_end 0xbff4 11 -b
status = 0 success, count = 11
f4bff6bff8bffabffcbffe
/> read70 /hd0/1/hole_end 0xbff5 11 -b
status = 0 success, count = 11
bff6bff8bffabffcbffebf
/> read70 /hd0/1/hole_end 0xbff6 11 -b
status = 0 success, count = 11
f6bff8bffabffcbffebf00
/> read70 /hd0/1/hole_end 0xbff7 11 -b
status = 0 success, count = 11
bff8bffabffcbffebf0000
/> read70 /hd0/1/hole_end 0xbffe 11 -b
status = 0 success, count = 11
febf000000000000000000
/> read70 /hd0/1/hole_end 0xbfff 11 -b
status = 0 success, count = 11
bf00000000000000000000
/> read70 /hd0/1/hole_end 0xc000 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_end 0xc001 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_end 0xfff4 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_end 0xfff5 11 -b
status = 0 success, count = 11
0000000000000000000000
/> read70 /hd0/1/hole_end 0xfff6 11 -b
status = 0 success, count = 10
00000000000000000000
/> read70 /hd0/1/hole_end 0xfff7 11 -b
status = 0 success, count = 9
000000000000000000
/> read70 /hd0/1/hole_end 0xfffe 11 -b
status = 0 success, count = 2
0000
/> read70 /hd0/1/hole_end 0xffff 11 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/hole_end 0x10000 11 -b
status = 0 success, count = 0
/> read70 /hd0/1/hole_end 0x10001 11 -b
status = 6 end_of_file, count = 0

View File

@ -0,0 +1,101 @@
disk_add ../img/xfs_v5_files_s05k_b4k_n8k.img hd0
# hole begin
# zero length
read70 /hd0/1/hole_begin 0 0 -b
read70 /hd0/1/hole_begin 1 0 -b
read70 /hd0/1/hole_begin 0x3ffe 0 -b
read70 /hd0/1/hole_begin 0x3fff 0 -b
read70 /hd0/1/hole_begin 0x4000 0 -b
read70 /hd0/1/hole_begin 0x4001 0 -b
# one-byte length
read70 /hd0/1/hole_begin 0 1 -b
read70 /hd0/1/hole_begin 1 1 -b
read70 /hd0/1/hole_begin 0x3ffe 1 -b
read70 /hd0/1/hole_begin 0x3fff 1 -b
read70 /hd0/1/hole_begin 0x4000 1 -b
read70 /hd0/1/hole_begin 0x4001 1 -b
# fixed-size block, different begin/end positions
read70 /hd0/1/hole_begin 0 11 -b
read70 /hd0/1/hole_begin 1 11 -b
read70 /hd0/1/hole_begin 0x3ff4 11 -b
read70 /hd0/1/hole_begin 0x3ff5 11 -b
read70 /hd0/1/hole_begin 0x3ff6 11 -b
read70 /hd0/1/hole_begin 0x3ff7 11 -b
read70 /hd0/1/hole_begin 0x3ffe 11 -b
read70 /hd0/1/hole_begin 0x3fff 11 -b
read70 /hd0/1/hole_begin 0x4000 11 -b
read70 /hd0/1/hole_begin 0x4001 11 -b
# hole middle
# zero length
read70 /hd0/1/hole_middle 0x7ffe 0 -b
read70 /hd0/1/hole_middle 0x7fff 0 -b
read70 /hd0/1/hole_middle 0x8000 0 -b
read70 /hd0/1/hole_middle 0x8001 0 -b
read70 /hd0/1/hole_middle 0xbffe 0 -b
read70 /hd0/1/hole_middle 0xbfff 0 -b
read70 /hd0/1/hole_middle 0xc000 0 -b
read70 /hd0/1/hole_middle 0xc001 0 -b
# one-byte length
read70 /hd0/1/hole_middle 0x7ffe 1 -b
read70 /hd0/1/hole_middle 0x7fff 1 -b
read70 /hd0/1/hole_middle 0x8000 1 -b
read70 /hd0/1/hole_middle 0x8001 1 -b
read70 /hd0/1/hole_middle 0xbffe 1 -b
read70 /hd0/1/hole_middle 0xbfff 1 -b
read70 /hd0/1/hole_middle 0xc000 1 -b
read70 /hd0/1/hole_middle 0xc001 1 -b
# fixed-size block, different begin/end positions
read70 /hd0/1/hole_middle 0x7ff4 11 -b
read70 /hd0/1/hole_middle 0x7ff5 11 -b
read70 /hd0/1/hole_middle 0x7ff6 11 -b
read70 /hd0/1/hole_middle 0x7ff7 11 -b
read70 /hd0/1/hole_middle 0x7ffe 11 -b
read70 /hd0/1/hole_middle 0x7fff 11 -b
read70 /hd0/1/hole_middle 0x8000 11 -b
read70 /hd0/1/hole_middle 0x8001 11 -b
read70 /hd0/1/hole_middle 0xbff4 11 -b
read70 /hd0/1/hole_middle 0xbff5 11 -b
read70 /hd0/1/hole_middle 0xbff6 11 -b
read70 /hd0/1/hole_middle 0xbff7 11 -b
read70 /hd0/1/hole_middle 0xbffe 11 -b
read70 /hd0/1/hole_middle 0xbfff 11 -b
read70 /hd0/1/hole_middle 0xc000 11 -b
read70 /hd0/1/hole_middle 0xc001 11 -b
# hole end
# zero length
read70 /hd0/1/hole_end 0xbffe 0 -b
read70 /hd0/1/hole_end 0xbfff 0 -b
read70 /hd0/1/hole_end 0xc000 0 -b
read70 /hd0/1/hole_end 0xc001 0 -b
read70 /hd0/1/hole_end 0xfffe 0 -b
read70 /hd0/1/hole_end 0xffff 0 -b
read70 /hd0/1/hole_end 0x10000 0 -b
read70 /hd0/1/hole_end 0x10001 0 -b
# one-byte length
read70 /hd0/1/hole_end 0xbffe 1 -b
read70 /hd0/1/hole_end 0xbfff 1 -b
read70 /hd0/1/hole_end 0xc000 1 -b
read70 /hd0/1/hole_end 0xc001 1 -b
read70 /hd0/1/hole_end 0xfffe 1 -b
read70 /hd0/1/hole_end 0xffff 1 -b
read70 /hd0/1/hole_end 0x10000 1 -b
read70 /hd0/1/hole_end 0x10001 1 -b
# fixed-size block, different begin/end positions
read70 /hd0/1/hole_end 0xbff4 11 -b
read70 /hd0/1/hole_end 0xbff5 11 -b
read70 /hd0/1/hole_end 0xbff6 11 -b
read70 /hd0/1/hole_end 0xbff7 11 -b
read70 /hd0/1/hole_end 0xbffe 11 -b
read70 /hd0/1/hole_end 0xbfff 11 -b
read70 /hd0/1/hole_end 0xc000 11 -b
read70 /hd0/1/hole_end 0xc001 11 -b
read70 /hd0/1/hole_end 0xfff4 11 -b
read70 /hd0/1/hole_end 0xfff5 11 -b
read70 /hd0/1/hole_end 0xfff6 11 -b
read70 /hd0/1/hole_end 0xfff7 11 -b
read70 /hd0/1/hole_end 0xfffe 11 -b
read70 /hd0/1/hole_end 0xffff 11 -b
read70 /hd0/1/hole_end 0x10000 11 -b
read70 /hd0/1/hole_end 0x10001 11 -b

View File

@ -0,0 +1,211 @@
/> disk_add ../img/xfs_v5_files_s05k_b4k_n8k.img hd0
/hd0/1: xfs
# zero length
/> read70 /hd0/1/no_hole 0 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 1 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0xffe 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0xfff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x1000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x1001 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x1ffe 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x1fff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x2000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0xfffe 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0xffff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x10000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x10001 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x1ffff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x10000000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x1000ffff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0xffff0000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0xffff0001 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0xffffffff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x100000000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x100000001 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x1ffffffff 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0xffffffff00000000 0 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0xffffffffffffffff 0 -b
status = 0 success, count = 0
# one-byte length
/> read70 /hd0/1/no_hole 0 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/no_hole 1 1 -b
status = 0 success, count = 1
01
/> read70 /hd0/1/no_hole 0xffe 1 -b
status = 0 success, count = 1
fe
/> read70 /hd0/1/no_hole 0xfff 1 -b
status = 0 success, count = 1
0f
/> read70 /hd0/1/no_hole 0x1000 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/no_hole 0x1001 1 -b
status = 0 success, count = 1
10
/> read70 /hd0/1/no_hole 0x1ffe 1 -b
status = 0 success, count = 1
fe
/> read70 /hd0/1/no_hole 0x1fff 1 -b
status = 0 success, count = 1
1f
/> read70 /hd0/1/no_hole 0x2000 1 -b
status = 0 success, count = 1
00
/> read70 /hd0/1/no_hole 0xfffe 1 -b
status = 0 success, count = 1
fe
/> read70 /hd0/1/no_hole 0xffff 1 -b
status = 0 success, count = 1
ff
/> read70 /hd0/1/no_hole 0x10000 1 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x10001 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x1ffff 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x10000000 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x1000ffff 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0xffff0000 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0xffff0001 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0xffffffff 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x100000000 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x100000001 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x1ffffffff 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0xffffffff00000000 1 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0xffffffffffffffff 1 -b
status = 6 end_of_file, count = 0
# fixed-size block, different begin/end positions
/> read70 /hd0/1/no_hole 0 11 -b
status = 0 success, count = 11
000102030405060708090a
/> read70 /hd0/1/no_hole 1 11 -b
status = 0 success, count = 11
0102030405060708090a0b
/> read70 /hd0/1/no_hole 0xfff4 11 -b
status = 0 success, count = 11
f4fff6fff8fffafffcfffe
/> read70 /hd0/1/no_hole 0xfff5 11 -b
status = 0 success, count = 11
fff6fff8fffafffcfffeff
/> read70 /hd0/1/no_hole 0xfff6 11 -b
status = 0 success, count = 10
f6fff8fffafffcfffeff
/> read70 /hd0/1/no_hole 0xfffe 11 -b
status = 0 success, count = 2
feff
/> read70 /hd0/1/no_hole 0xffff 11 -b
status = 0 success, count = 1
ff
/> read70 /hd0/1/no_hole 0x10000 11 -b
status = 0 success, count = 0
/> read70 /hd0/1/no_hole 0x10001 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x10000000 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x10000001 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x1000ffff 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0xffff0000 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0xffffffff 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x100000000 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x100000001 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0x1ffffffff 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0xffffffff00000000 11 -b
status = 6 end_of_file, count = 0
/> read70 /hd0/1/no_hole 0xffffffffffffffff 11 -b
status = 6 end_of_file, count = 0
# btree
/> read70 /hd0/1/btree_l1_no_hole 0x80000 11 -b
status = 0 success, count = 11
0000080004000800080008

View File

@ -0,0 +1,74 @@
disk_add ../img/xfs_v5_files_s05k_b4k_n8k.img hd0
# zero length
read70 /hd0/1/no_hole 0 0 -b
read70 /hd0/1/no_hole 1 0 -b
read70 /hd0/1/no_hole 0xffe 0 -b
read70 /hd0/1/no_hole 0xfff 0 -b
read70 /hd0/1/no_hole 0x1000 0 -b
read70 /hd0/1/no_hole 0x1001 0 -b
read70 /hd0/1/no_hole 0x1ffe 0 -b
read70 /hd0/1/no_hole 0x1fff 0 -b
read70 /hd0/1/no_hole 0x2000 0 -b
read70 /hd0/1/no_hole 0xfffe 0 -b
read70 /hd0/1/no_hole 0xffff 0 -b
read70 /hd0/1/no_hole 0x10000 0 -b
read70 /hd0/1/no_hole 0x10001 0 -b
read70 /hd0/1/no_hole 0x1ffff 0 -b
read70 /hd0/1/no_hole 0x10000000 0 -b
read70 /hd0/1/no_hole 0x1000ffff 0 -b
read70 /hd0/1/no_hole 0xffff0000 0 -b
read70 /hd0/1/no_hole 0xffff0001 0 -b
read70 /hd0/1/no_hole 0xffffffff 0 -b
read70 /hd0/1/no_hole 0x100000000 0 -b
read70 /hd0/1/no_hole 0x100000001 0 -b
read70 /hd0/1/no_hole 0x1ffffffff 0 -b
read70 /hd0/1/no_hole 0xffffffff00000000 0 -b
read70 /hd0/1/no_hole 0xffffffffffffffff 0 -b
# one-byte length
read70 /hd0/1/no_hole 0 1 -b
read70 /hd0/1/no_hole 1 1 -b
read70 /hd0/1/no_hole 0xffe 1 -b
read70 /hd0/1/no_hole 0xfff 1 -b
read70 /hd0/1/no_hole 0x1000 1 -b
read70 /hd0/1/no_hole 0x1001 1 -b
read70 /hd0/1/no_hole 0x1ffe 1 -b
read70 /hd0/1/no_hole 0x1fff 1 -b
read70 /hd0/1/no_hole 0x2000 1 -b
read70 /hd0/1/no_hole 0xfffe 1 -b
read70 /hd0/1/no_hole 0xffff 1 -b
read70 /hd0/1/no_hole 0x10000 1 -b
read70 /hd0/1/no_hole 0x10001 1 -b
read70 /hd0/1/no_hole 0x1ffff 1 -b
read70 /hd0/1/no_hole 0x10000000 1 -b
read70 /hd0/1/no_hole 0x1000ffff 1 -b
read70 /hd0/1/no_hole 0xffff0000 1 -b
read70 /hd0/1/no_hole 0xffff0001 1 -b
read70 /hd0/1/no_hole 0xffffffff 1 -b
read70 /hd0/1/no_hole 0x100000000 1 -b
read70 /hd0/1/no_hole 0x100000001 1 -b
read70 /hd0/1/no_hole 0x1ffffffff 1 -b
read70 /hd0/1/no_hole 0xffffffff00000000 1 -b
read70 /hd0/1/no_hole 0xffffffffffffffff 1 -b
# fixed-size block, different begin/end positions
read70 /hd0/1/no_hole 0 11 -b
read70 /hd0/1/no_hole 1 11 -b
read70 /hd0/1/no_hole 0xfff4 11 -b
read70 /hd0/1/no_hole 0xfff5 11 -b
read70 /hd0/1/no_hole 0xfff6 11 -b
read70 /hd0/1/no_hole 0xfffe 11 -b
read70 /hd0/1/no_hole 0xffff 11 -b
read70 /hd0/1/no_hole 0x10000 11 -b
read70 /hd0/1/no_hole 0x10001 11 -b
read70 /hd0/1/no_hole 0x10000000 11 -b
read70 /hd0/1/no_hole 0x10000001 11 -b
read70 /hd0/1/no_hole 0x1000ffff 11 -b
read70 /hd0/1/no_hole 0xffff0000 11 -b
read70 /hd0/1/no_hole 0xffffffff 11 -b
read70 /hd0/1/no_hole 0x100000000 11 -b
read70 /hd0/1/no_hole 0x100000001 11 -b
read70 /hd0/1/no_hole 0x1ffffffff 11 -b
read70 /hd0/1/no_hole 0xffffffff00000000 11 -b
read70 /hd0/1/no_hole 0xffffffffffffffff 11 -b
# btree
read70 /hd0/1/btree_l1_no_hole 0x80000 11 -b

View File

@ -12,8 +12,9 @@ lookup_tests := $(addsuffix .out, $(basename $(wildcard *\#lookup_*.t)))
bug_tests := $(addsuffix .out, $(basename $(wildcard *\#bug_*.t)))
xattr_tests := $(addsuffix .out, $(basename $(wildcard *\#xattr_*.t)))
unicode_tests := $(addsuffix .out, $(basename $(wildcard *\#unicode_*.t)))
v5_tests := $(addsuffix .out, $(basename $(wildcard *\#v5_*.t)))
all: xfs s05k s4k f30 f70 f70s0 f70s1 f70s5 lookup bug xattr unicode
all: xfs s05k s4k f30 f70 f70s0 f70s1 f70s5 lookup bug xattr unicode v5
@echo all tests passed
xfs: $(xfs_tests)
@ -28,6 +29,7 @@ lookup: $(lookup_tests)
bug: $(bug_tests)
xattr: $(xattr_tests)
unicode: $(unicode_tests)
v5: $(v5_tests)
%.out: %.ref %.t
$(KOFU) < $(word 2, $^) > $@