#3963 closed bug (fixed)
Haiku wrongly initialises volume according to BeOS
Reported by: | idefix | Owned by: | axeld |
---|---|---|---|
Priority: | critical | Milestone: | R1 |
Component: | File Systems/BFS | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
An volume initialised under Haiku (hrev30847) with mkfs or DriveSetup has block allocation mismatches according to chkbfs under BeOS. The repaired volume will crash Haiku when trying to mount it.
Steps to reproduce:
- Initialise (and check) a volume with Haiku:
~> mkfs -t bfs -v /dev/disk/ata/1/master/0 test0mkfs Preparing for modifications... Parameters Validation... About to initialize /dev/disk/ata/1/master/0 with Be File System Are you sure you want to do this now? ALL YOUR DATA in /dev/disk/ata/1/master/0 will be lost forever. Continue (yes|[no])? yes DiskDeviceJobQueue::Execute(): executing job: Q28BPrivate15UninitializeJob DiskDeviceJobQueue::Execute(): executing job: Q28BPrivate13InitializeJob Volume Partition 4 (test3) has been initialized successfully! ~> checkfs /test0mkfs/ checked 9 nodes, 0 blocks not allocated, 0 blocks already set, 0 blocks could be freed files 0 directories 5 attributes 0 attr. dirs 0 indices 4
- Check the volume with BeOS:
$ chkbfs /test0mkfs/ bfs: /dev/disk/ide/ata/1/master/0/0_0 is read-only! Files processed: 11 BFS has 3 blocks allocated that should not be. Block allocation mismatches detected. Fixing. File system check completed.
- Mount the volume with Haiku:
bfs: mounted "test0mkfs" (root node at 524288, device = /dev/disk/ata/1/master/0) bfs: bfs_stat_index:2020: No such file or directory bfs: AllocationBlock::Allocate(): some blocks are already allocated, start = 0, numBlocks = 4297 PANIC: blocks already set! Welcome to Kernel Debugging Land... Thread 173 "bfs block allocator" running on CPU 0 kdebug> bt stack trace for thread 173 "bfs block allocator" kernel stack: 0x80dda000 to 0x80dde000 frame caller <image>:function + offset 0 80dddba8 (+ 48) 80062e5d <kernel_x86>:invoke_debugger_command + 0x00f5 1 80dddbd8 (+ 64) 80062c4d <kernel_x86> invoke_pipe_segment(debugger_command_pipe*: [34m0x80132380[0m, int32: [34m0[0m, [34m0x0[0m [31m"<NULL>"[0m) + 0x0079 2 80dddc18 (+ 64) 80062fd4 <kernel_x86>:invoke_debugger_command_pipe + 0x009c 3 80dddc58 (+ 48) 80064584 <kernel_x86> ExpressionParser<[32m0x80dddd0c[0m>::_ParseCommandPipe([34m0x80dddd08[0m) + 0x0234 4 80dddc88 (+ 64) 800639be <kernel_x86> ExpressionParser<[32m0x80dddd0c[0m>::EvaluateCommand([34m0x80122c00[0m [36m"bt"[0m, [34m0x80dddd08[0m) + 0x02ba 5 80dddcc8 (+ 224) 800659ac <kernel_x86>:evaluate_debug_command + 0x0088 6 80dddda8 (+ 64) 80060cd6 <kernel_x86> kernel_debugger_loop() + 0x01ae 7 80dddde8 (+ 32) 80061bdd <kernel_x86>:kernel_debugger + 0x004d 8 80ddde08 (+ 192) 80061b85 <kernel_x86>:panic + 0x0029 9 80dddec8 (+ 96) 805c47ee <bfs> AllocationGroup<[32m0x82d2f800[0m>::Allocate(Transaction&: [34m0x80dddfcc[0m, uint16: [34m0x0[0m ([34m0[0m), int32: [34m4329[0m) + 0x02b6 10 80dddf28 (+ 176) 805c5240 <bfs> BlockAllocator<[32m0x811c87d4[0m>::_Initialize(BlockAllocator*: NULL) + 0x032c 11 80dddfd8 (+ 32) 80057007 <kernel_x86> _create_kernel_thread_kentry() + 0x001b 12 80dddff8 (+2132942856) 80056fa4 <kernel_x86> thread_kthread_exit() + 0x0000
Change History (10)
comment:1 by , 16 years ago
comment:2 by , 15 years ago
I can't reproduce this in VMware, so it has to do something with my hardware. I will try some earlier revisions to find out when the problem started.
comment:3 by , 15 years ago
Priority: | normal → critical |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Fixed in hrev30998: the attribute directory of the root directory was ignored by checkfs.
comment:4 by , 15 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Unfortunately, I can still reproduce this with hrev31230 following the same steps. I also tried to not do a checkfs in the first step, but that didn't matter.
The final crash is slightly different though (bfs_stat_index:2050 vs 2020):
bfs: mounted "test0mkfs" (root node at 524288, device = /dev/disk/ata/1/master/0) bfs: bfs_stat_index:2050: No such file or directory bfs: AllocationBlock::Allocate(): some blocks are already allocated, start = 0, numBlocks = 4297 PANIC: blocks already set! Welcome to Kernel Debugging Land... Thread 170 "bfs block allocator" running on CPU 0 kdebug> bt stack trace for thread 170 "bfs block allocator" kernel stack: 0x81d92000 to 0x81d96000 frame caller <image>:function + offset 0 81d95ba8 (+ 48) 8006545d <kernel_x86>:invoke_debugger_command + 0x0105 1 81d95bd8 (+ 64) 8006523d <kernel_x86> invoke_pipe_segment(debugger_command_pipe*: [34m0x81612030[0m, int32: [34m0[0m, [34m0x0[0m [31m"<NULL>"[0m) + 0x0079 2 81d95c18 (+ 64) 800655f0 <kernel_x86>:invoke_debugger_command_pipe + 0x009c 3 81d95c58 (+ 48) 80066fec <kernel_x86> ExpressionParser<[32m0x81d95d08[0m>::_ParseCommandPipe([34m0x81d95d04[0m) + 0x0234 4 81d95c88 (+ 64) 80066426 <kernel_x86> ExpressionParser<[32m0x81d95d08[0m>::EvaluateCommand([34m0x80125c00[0m [36m"bt"[0m, [34m0x81d95d04[0m) + 0x02ba 5 81d95cc8 (+ 224) 80068400 <kernel_x86>:evaluate_debug_command + 0x0080 6 81d95da8 (+ 64) 800632b6 <kernel_x86> kernel_debugger_loop() + 0x01b6 7 81d95de8 (+ 32) 800641cd <kernel_x86>:kernel_debugger + 0x004d 8 81d95e08 (+ 192) 80064175 <kernel_x86>:panic + 0x0029 9 81d95ec8 (+ 96) 805c5832 <bfs> AllocationGroup<[32m0x82d4b000[0m>::Allocate(Transaction&: [34m0x81d95fcc[0m, uint16: [34m0x0[0m ([34m0[0m), int32: [34m4329[0m) + 0x02b6 10 81d95f28 (+ 176) 805c6284 <bfs> BlockAllocator<[32m0x811c8094[0m>::_Initialize(BlockAllocator*: NULL) + 0x032c 11 81d95fd8 (+ 32) 80057613 <kernel_x86> _create_kernel_thread_kentry() + 0x001b 12 81d95ff8 (+2116460552) 800575b0 <kernel_x86> thread_kthread_exit() + 0x0000
comment:5 by , 15 years ago
I could not reproduce this problem. Can you please run either "bfsinfo -s" from the BFS-tools, or the output of "F12 - mount 3 - bfs _volume" - you need to replace the "3" with whatever device number that partition has (you can use the "mounts" command to see them all listed). The data I'm interested in is how the super block looks like. Thanks!
comment:6 by , 15 years ago
After mkfs initialised the volume:
PANIC: keyboard requested halt. Welcome to Kernel Debugging Land... Thread 1 "idle thread 1" running on CPU 0 kdebug> mounts address id root covers cookie fs_name 0x80fa82d0 1 0x80f9b044 0x00000000 0x80f9a708 rootfs 0x80fa8348 2 0x80f9b0cc 0x80f9b088 0x80f9a758 devfs 0x80fc8f00 3 0x80f9b50c 0x80f9b484 0x811c6f00 bfs kdebug> continue bfs: mounted "test0mkfs" (root node at 524288, device = /dev/disk/ata/1/master/0) bfs: bfs_stat_index:2050: No such file or directory PANIC: keyboard requested halt. Welcome to Kernel Debugging Land... Thread 1 "idle thread 1" running on CPU 0 kdebug> mounts address id root covers cookie fs_name 0x80fa82d0 1 0x80f9b044 0x00000000 0x80f9a708 rootfs 0x80fa8348 2 0x80f9b0cc 0x80f9b088 0x80f9a758 devfs 0x80fc8f00 3 0x80f9b50c 0x80f9b484 0x811c6f00 bfs 0x80f91f00 5 0x8100fee0 0x81002000 0x811cb0e0 bfs kdebug> mount 5 MOUNT: 0x80f91f00 id: 5 device_name: /dev/disk/ata/1/master/0 root_vnode: 0x8100fee0 covers_vnode: 0x81002000 partition: 0x80fde198 lock: 0x80f91f10 flags: volume 0x8103e8c0: layer: 0 private_volume: 0x811cb0e0 ops: 0x805e8c20 file_system: 0x805e8d60 file_system_name: bfs kdebug> bfs _volume id: 5 block cache: 0x810a5258 journal: 0x80f8a690 allocator: 0x811cb2f4 root node: 0x81005000 indices node: 0x810453fc disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 4502 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 4 ag_shift = 16 (65536 bytes) num_ags = 58 flags = 0x434c454e (CLEN) log_blocks = (0, 233, 4096) log_start = 269 log_end = 269 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 4329, 1)
Then, after running checkfs on the volume:
PANIC: keyboard requested halt. Welcome to Kernel Debugging Land... Thread 1 "idle thread 1" running on CPU 0 kdebug> mounts address id root covers cookie fs_name 0x80fa82d0 1 0x80f9b044 0x00000000 0x80f9a708 rootfs 0x80fa8348 2 0x80f9b0cc 0x80f9b088 0x80f9a758 devfs 0x80fc8f00 3 0x80f9b50c 0x80f9b484 0x811c6f00 bfs 0x80f91f00 5 0x8100fee0 0x81002000 0x811cb0e0 bfs kdebug> mount 5 MOUNT: 0x80f91f00 id: 5 device_name: /dev/disk/ata/1/master/0 root_vnode: 0x8100fee0 covers_vnode: 0x81002000 partition: 0x80fde198 lock: 0x80f91f10 flags: volume 0x8103e8c0: layer: 0 private_volume: 0x811cb0e0 ops: 0x805e8c20 file_system: 0x805e8d60 file_system_name: bfs kdebug> bfs _volume id: 5 block cache: 0x810a5258 journal: 0x80f8a690 allocator: 0x811cb2f4 root node: 0x81005000 indices node: 0x810453fc disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 4502 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 4 ag_shift = 16 (65536 bytes) num_ags = 58 flags = 0x434c454e (CLEN) log_blocks = (0, 233, 4096) log_start = 269 log_end = 269 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 4329, 1)
Booting into BeOS and using the BFS-tools:
Welcome to the BeOS shell. $ mountvolume test0mkfs scanning volumes... test0mkfs mounted OK $ bfsinfo -s /test0mkfs/ Copyright (c) 2001-2008 pinc Software. disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE, little endian) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 4506 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 4 ag_shift = 16 num_ags = 58 flags = 0x434c454e (CLEN) log_blocks = (0, 233, 4096) log_start = 278 log_end = 278 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 4329, 1) $ chkbfs /test0mkfs/ bfs: /dev/disk/ide/ata/1/master/0/0_0 is read-only! Files processed: 11 BFS has 3 blocks allocated that should not be. Block allocation mismatches detected. Fixing. File system check completed. $ bfsinfo -s /test0mkfs/ Copyright (c) 2001-2008 pinc Software. disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE, little endian) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 4506 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 4 ag_shift = 16 num_ags = 58 flags = 0x434c454e (CLEN) log_blocks = (0, 233, 4096) log_start = 278 log_end = 278 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 4329, 1)
Booting back into Haiku and then mounting the partition (which results in a crash):
PANIC: keyboard requested halt. Welcome to Kernel Debugging Land... Thread 1 "idle thread 1" running on CPU 0 kdebug> mounts address id root covers cookie fs_name 0x80fa82d0 1 0x80f9b044 0x00000000 0x80f9a708 rootfs 0x80fa8348 2 0x80f9b0cc 0x80f9b088 0x80f9a758 devfs 0x80fc8f00 3 0x80f9b50c 0x80f9b484 0x811c6f00 bfs kdebug> continue bfs: mounted "test0mkfs" (root node at 524288, device = /dev/disk/ata/1/master/0) bfs: bfs_stat_index:2050: No such file or directory bfs: AllocationBlock::Allocate(): some blocks are already allocated, start = 0, numBlocks = 4297 PANIC: blocks already set! Welcome to Kernel Debugging Land... Thread 171 "bfs block allocator" running on CPU 0 kdebug> mounts address id root covers cookie fs_name 0x80fa82d0 1 0x80f9b044 0x00000000 0x80f9a708 rootfs 0x80fa8348 2 0x80f9b0cc 0x80f9b088 0x80f9a758 devfs 0x80fc8f00 3 0x80f9b50c 0x80f9b484 0x811c6f00 bfs 0x8100ae10 4 0x8100f908 0x81002b28 0x811c7e80 bfs kdebug> mount 4 MOUNT: 0x8100ae10 id: 4 device_name: /dev/disk/ata/1/master/0 root_vnode: 0x8100f908 covers_vnode: 0x81002b28 partition: 0x80fde198 lock: 0x8100ae20 flags: volume 0x810a6ed8: layer: 0 private_volume: 0x811c7e80 ops: 0x805e8c20 file_system: 0x805e8d60 file_system_name: bfs kdebug> bfs _volume id: 4 block cache: 0x81078960 journal: 0x810789d8 allocator: 0x811c8094 root node: 0x80fe7e9c indices node: 0x81060550 disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 4506 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 4 ag_shift = 16 (65536 bytes) num_ags = 58 flags = 0x434c454e (CLEN) log_blocks = (0, 233, 4096) log_start = 278 log_end = 278 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 4329, 1)
comment:7 by , 15 years ago
Tried another experiment:
Initialising the volume in BeOS:
$ mkbfs 2048 /dev/disk/ide/ata/1/master/0/0_0 test0mkfs BFS w/2048 byte blocks successfully created on /dev/disk/ide/ata/1/master/0/0_0 as test0mkfs BFS Dump: fd 3 dev_block_size 512 dev_block_conversion 4 tmp block data @ 0x80041768 num bitmap blocks: 229 Disk Super Block: name: test0mkfs magic1: 0x42465331 fs byte order: little endian block size: 2048 num blocks: 3747161 num blocks used: 2603 inode size: 2048 magic2: 0xdd121031 num blocks per allocation group: 2 ag shift: 15 num ag's: 115 flags: 0x434c454e magic3: 0x15b6830e log start: 0 -- log end: 0 log area: ag : 0 start : 230 len : 2048 root dir inode: ag : 8 start : 0 len : 1 indices inode: ag : 0 start : 2278 len : 1 pad: 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 ------------------------------------------ nsid: -2147219936 nbitmap blocks 229 bv @ 0x800497c0 bbm_sem 6391 sem 6389 fd 3 dev block size 512 inodes: root 0x800fdc60 index 0x800ffdd8 name 0x801011f0 size 0x80102e18 create time 0x0 last m. time 0x80104230 index list @ 0x0 log sem 6392 cur_log_end 0 cur_lh 0x800fd388 active_lh 0 completed log entries @ 0x0 tmp blocks @ 0x80041768 tmp b. sem 6390 $ mountvolume test0mkfs scanning volumes... test0mkfs mounted OK $ bfsinfo -s /test0mkfs/ Copyright (c) 2001-2008 pinc Software. disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE, little endian) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 2800 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 2 ag_shift = 15 num_ags = 115 flags = 0x434c454e (CLEN) log_blocks = (0, 230, 2048) log_start = 30 log_end = 30 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 2278, 1)
Booting into Haiku and mounting the volume:
bfs: mounted "test0mkfs" (root node at 262144, device = /dev/disk/ata/1/master/0) bfs: bfs_stat_index:2050: No such file or directory PANIC: keyboard requested halt. Welcome to Kernel Debugging Land... Thread 1 "idle thread 1" running on CPU 0 kdebug> mounts address id root covers cookie fs_name 0x80fa82d0 1 0x80f9b044 0x00000000 0x80f9a708 rootfs 0x80fa8348 2 0x80f9b0cc 0x80f9b088 0x80f9a758 devfs 0x80fc8f00 3 0x80f9b50c 0x80f9b484 0x811c6f00 bfs 0x80f91b40 4 0x80f9b2a8 0x80feae14 0x811c7e80 bfs kdebug> mount 4 MOUNT: 0x80f91b40 id: 4 device_name: /dev/disk/ata/1/master/0 root_vnode: 0x80f9b2a8 covers_vnode: 0x80feae14 partition: 0x80fde198 lock: 0x80f91b50 flags: volume 0x810a3ac8: layer: 0 private_volume: 0x811c7e80 ops: 0x805e8c20 file_system: 0x805e8d60 file_system_name: bfs kdebug> bfs _volume id: 4 block cache: 0x810b0078 journal: 0x81021960 allocator: 0x811c8094 root node: 0x80fe0bf4 indices node: 0x80ff2000 disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 2800 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 2 ag_shift = 15 (32768 bytes) num_ags = 115 flags = 0x434c454e (CLEN) log_blocks = (0, 230, 2048) log_start = 32 log_end = 32 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 2278, 1) kdebug> continue
After running checkfs:
PANIC: keyboard requested halt. Welcome to Kernel Debugging Land... Thread 1 "idle thread 1" running on CPU 0 kdebug> mount 4 MOUNT: 0x80f91b40 id: 4 device_name: /dev/disk/ata/1/master/0 root_vnode: 0x80f9b2a8 covers_vnode: 0x80feae14 partition: 0x80fde198 lock: 0x80f91b50 flags: volume 0x810a3ac8: layer: 0 private_volume: 0x811c7e80 ops: 0x805e8c20 file_system: 0x805e8d60 file_system_name: bfs kdebug> bfs _volume id: 4 block cache: 0x810b0078 journal: 0x81021960 allocator: 0x811c8094 root node: 0x80fe0bf4 indices node: 0x80ff2000 disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 2800 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 2 ag_shift = 15 (32768 bytes) num_ags = 115 flags = 0x434c454e (CLEN) log_blocks = (0, 230, 2048) log_start = 32 log_end = 32 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 2278, 1)
And then booting back into BeOS:
Welcome to the BeOS shell. $ mountvolume test0mkfs scanning volumes... test0mkfs mounted OK $ bfsinfo -s /test0mkfs/ Copyright (c) 2001-2008 pinc Software. disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE, little endian) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 3450 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 2 ag_shift = 15 num_ags = 115 flags = 0x434c454e (CLEN) log_blocks = (0, 230, 2048) log_start = 55 log_end = 55 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 2278, 1) $ chkbfs /test0mkfs/ bfs: /dev/disk/ide/ata/1/master/0/0_0 is read-only! Files processed: 19 No errors detected. File system check completed. $ bfsinfo -s /test0mkfs/ Copyright (c) 2001-2008 pinc Software. disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE, little endian) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 3450 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 2 ag_shift = 15 num_ags = 115 flags = 0x434c454e (CLEN) log_blocks = (0, 230, 2048) log_start = 55 log_end = 55 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 2278, 1)
And back into Haiku after running checkfs on the volume:
bfs: mounted "test0mkfs" (root node at 262144, device = /dev/disk/ata/1/master/0) bfs: bfs_stat_index:2050: No such file or directory PANIC: keyboard requested halt. Welcome to Kernel Debugging Land... Thread 1 "idle thread 1" running on CPU 0 kdebug> mounts address id root covers cookie fs_name 0x80fa82d0 1 0x80f9b044 0x00000000 0x80f9a708 rootfs 0x80fa8348 2 0x80f9b0cc 0x80f9b088 0x80f9a758 devfs 0x80fc8f00 3 0x80f9b50c 0x80f9b484 0x811c6f00 bfs 0x81042f78 6 0x80feab6c 0x80fea000 0x811c7e80 bfs kdebug> mount 6 MOUNT: 0x81042f78 id: 6 device_name: /dev/disk/ata/1/master/0 root_vnode: 0x80feab6c covers_vnode: 0x80fea000 partition: 0x80fde198 lock: 0x81042f88 flags: volume 0x80ff6168: layer: 0 private_volume: 0x811c7e80 ops: 0x805e8c20 file_system: 0x805e8d60 file_system_name: bfs kdebug> bfs _volume id: 6 block cache: 0x810a89d8 journal: 0x810a8960 allocator: 0x811c8094 root node: 0x8102fbf4 indices node: 0x80f95e9c disk_super_block: name = test0mkfs magic1 = 0x42465331 (BFS1) valid fs_byte_order = 0x42494745 (BIGE) block_size = 2048 block_shift = 11 num_blocks = 3747161 used_blocks = 3198 inode_size = 2048 magic2 = 0xdd121031 (...1) valid blocks_per_ag = 2 ag_shift = 15 (32768 bytes) num_ags = 115 flags = 0x434c454e (CLEN) log_blocks = (0, 230, 2048) log_start = 64 log_end = 64 magic3 = 0x15b6830e (....) valid root_dir = (8, 0, 1) indices = (0, 2278, 1)
comment:8 by , 15 years ago
Thanks! I was just going to ask you to initialize the volume under BeOS :-)
I understand now what's going on: Haiku's BFS allocates the last allocation group completely, while it's only a partial one. BeOS' BFS only allocates what's needed. I'll probably fix that tomorrow; I keep the ticket at "critical" for the other related bug I already fixed.
Above crashlog happens when mounting the volume read/write. When mounting the volume read-only, the crash is the same as bug #3432.