Issue #3237 has been updated by tkusumi.

Looks like inmemory buffer for data is somehow not landing ondisk, but can't 
reproduce it myself. Try fsck_msdosfs. I would presume fsck won't complain, 
meaning FAT clusters are in consistent state.

If this consistently (100% always) reproduces on FAT32 with a certain file size,

1) If you want to further investigate, you could try old kernels (probably 
before 2019 September) and try to see or bisect if it reproduces.
2) I'd recommend to write the exact repro here, e.g. newfs_msdos output (which 
contains FAT params), the exact command to write to a file, the exact command 
to find out a file with \0 data beyond which offset, etc.

----------------------------------------
Bug #3237: msdosfs: can't properly read files longer than couple of kilobytes
http://bugs.dragonflybsd.org/issues/3237#change-13886

* Author: piecuch
* Status: New
* Priority: Normal
* Assignee: 
* Category: Other
* Target version: master
----------------------------------------
Reading a file from msdosfs reports valid data within the first couple of 
kilobytes, everything after that is only NULL bytes (or it might be some data 
from a different sector which is currently zeroed).

I have tested this on the following configurations:
write on Linux - corrupted data on dfly, correct data on Linux
write on dfly - corrupted data on dfly, correct data on Linux

I am running latest version from master.

I will see if this bug can be reproduced on freebsd and try to fix that/port 
stuff from freebsd. Hints welcome.



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://bugs.dragonflybsd.org/my/account

Reply via email to