[Bug 213507] [msdosfs] [patch]: Prevent occasional directory corruption while extending it to another cluster

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Oct 16 12:16:08 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213507

--- Comment #7 from Vladislav Movchan <vladislav.movchan at gmail.com> ---
(In reply to Konstantin Belousov from comment #5)
I confirmed your hypothesis - sometimes buffer pages have valid bits set and
sometimes they don't.
Original problem occurs only in cases when valid bits are set, so
vfs_bio_clrbuf() don't zero random data in buffer.

Also I went through history and found that originally buffer data was always
zeroed by call to clrbuf() macro and in base r171522 it was changed to
vfs_bio_clrbuf() as an optimization.

I suppose what I see is just a regression of this optimization and it was not
noticed since then as "directory extension to another cluster" is a rare
operation.

I attached another patch which restores original behaviour just for the
"directory grows" case.
With this patch I'm no longer able to reproduce this problem.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-fs mailing list