Replicable file-system corruption due to fsck/ufs

Kirk McKusick mckusick at mckusick.com
Fri Apr 12 23:37:07 UTC 2019


> Peter Holm <peter at holm.cc> wrote:
> 
>> I see this even with a single truncate on HEAD.
>>
>> $ ./truncate10.sh
>> 96 -rw-r--r--  1 root  wheel  1073741824 11 apr. 06:33 test
>> ** /dev/md10a
>> ** Last Mounted on /mnt
>> ** Phase 1 - Check Blocks and Sizes
>> INODE 3: FILE SIZE 1073741824 BEYOND END OF ALLOCATED FILE, SIZE SHOULD BE 268435456
>> ADJUST? yes
> 
> Thanks.. I should have tested that myself.. doh! I was trying to
> closer replicate my real file that triggered the problem which
> contained a number of sparse areas.
> 
> And thanks for adding Kirk to the discussion. I wanted to first be
> sure it wasn't just me :-)
> 
> Cheers, Jamie

This is indeed a bug in the calculation of the location of the last
block of a file. I believe that the following patch to head will
fix it.

Peter, can you please test and let me know.

If Peter confirms that it fixes the bug, I will check it into head
and MFC it to 12-stable and 11-stable after a 2-week settle-in time.

	Kirk McKusick



More information about the freebsd-stable mailing list