Ticket #3150 (new bug)
BFS directory corruption.
| Reported by: | bga | Owned by: | axeld |
|---|---|---|---|
| Priority: | blocker | Milestone: | R1 |
| Component: | File Systems/BFS | Version: | R1/pre-alpha1 |
| Keywords: | Cc: | olive@…, alaricx@…, miqlas@…, rossi@…, HubertNG@… | |
| Blocked By: | Platform: | x86 | |
| Blocking: | #3932, #4011 |
Description
I set up a new partition to run Haiku and did a clean install of r28657. Setting it up included downloading sources for stuff I am working on, configuring/dowmnloading emails, setting backgrounds, etc.
This morning I turned my computer on and booted to this partition. I was decided to get ArmyKnife to compile under Haiku and switched to its directory. Doing "ls" on it resulted into this:
~/development> cd armyknife/ ~/development/armyknife> ls ls: reading directory .: Bad data Makefile Makefile_armyknife Makefile_armyknife_tte Makefile_libsanta
syslog showed this:
KERN: B+tree header size 6132779464041449732 doesn't fit file size 2048! KERN: bfs: SetTo:471: Bad data KERN: bfs: KERN: inode tree at block 2624136 corrupt! KERN: bfs: InitCheck:432: Bad data
This is the disk, just in case:
~/development> df Mount Type Total Free Flags Device --------------- -------- --------- --------- ------- -------------------------- /boot bfs 77.0G 66.6G QAM-P-W /dev/disk/scsi/0/2/0/2
I decided to run checkfs on it although I imagined it would not handle this kind of problem:
~/development> checkfs /dev/disk/scsi/0/2/0/2
prop-base (inode = 4719490), could not be opened
lock (inode = 3148138), has blocks already set, names don't match
documentation (inode = 2624136), could not be opened
checked 115255 nodes, 0 blocks not allocated, 2 blocks already set, 3943 blocks could be freed
files 92648
directories 22225
attributes 268
attr. dirs 84
indices 30
Then trying to run ls on the dir again (note no files are showing now. That's because I tried to remove the directory but it failed with directory not empty and removed the files inside it that were ok but not the corrupt ones):
~/development/armyknife> ls ls: reading directory .: Bad data
Ans syslog still showed the same error:
KERN: B+tree header size 6132779464041449732 doesn't fit file size 2048! KERN: bfs: SetTo:471: Bad data KERN: bfs: inode tree at block 2624136 corrupt! KERN: bfs: InitCheck:432: Bad data

