[haiku-bugs] [Haiku] #12698: Strange checkfs behavior

  • From: "X512" <trac@xxxxxxxxxxxx>
  • Date: Thu, 24 Mar 2016 17:46:13 -0000

#12698: Strange checkfs behavior
---------------------------+------------------------------
 Reporter:  X512           |        Owner:  axeld
     Type:  bug            |       Status:  new
 Priority:  normal         |    Milestone:  R1
Component:  System/Kernel  |      Version:  R1/Development
 Keywords:  checkfs cache  |   Blocked By:
 Blocking:                 |  Has a Patch:  0
 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.

--
Ticket URL: <https://dev.haiku-os.org/ticket/12698>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: