Strange checkfs behavior
|Reported by:||X512||Owned by:||axeld|
|Has a Patch:||no||Platform:||All|
This is hrev50152.
When running checkfs -c sometimes I get inconsistent results such as different count of checked nodes, blocks that could be freed and others. Also sometimes checkfs reports that some random files that "could not be opened". List of files that could not be opened is different after each call of checkfs -c and sometimes empty. In theory checkfs -c should not change anything, but check results of consecutive checkfs -c calls are different. When checkfs returns inconsistent results, consecutive calls are not fast as usual (for example usually second call of checkfs can be done for about 3 seconds while first was about 10 minutes, node count is about 300000). Running checkfs from boot usb immidiately after boot don't cause this issue.
This is probably caused by error in disk block caching for reading.
Sample checkfs result:
> checkfs -c /boot haiku_unsupported-nightly-hrev50163-x86_hybrid-raw (inode = 6815673), could not be opened 259418 nodes checked, 0 blocks not allocated, 0 blocks already set, 307218 blocks could be freed files 235130 directories 23178 attributes 704 attr. dirs 366 indices 40 direct block runs 255611 (40.90 GiB) indirect block runs 809 (in 44 array blocks, 15.78 GiB) double indirect block runs 0 (in 0 array blocks, 0 バイト)
checkfs result from live USB:> checkfs -c /Haiku1 259416 nodes checked, 0 blocks not allocated, 0 blocks already set, 7 blocks could be freed files 235128 directories 23178 attributes 704 attr. dirs 366 indices 40 direct block runs 255600 (41.38 GiB) indirect block runs 798 (in 41 array blocks, 15.30 GiB) double indirect block runs 0 (in 0 array blocks, 0 バイト)
Note "blocks could be freed" value.