Stress testing the UFS2 filesystem

Pavel Merdine freebsd-fs at merdin.com
Tue May 2 20:32:36 UTC 2006


Hello ,

Thank you for raising this problem again. I already tried to do that
in that list, but received an answer that kernel is intended to do
that. For example, you have a faulty disk. And you have a faulty
sector which happened to occur on the directory place. So each time
kernel reads this sector it panics. So it's initially hard to even
understand what happens. And also it leads to corruption and lost
files on other file system (each time). Imagine if you have 15 disks.
In this case you have many files lost just because of a small (and not
significant) fault. It's just a nonsense.
Personally, I just replaced bad_dir with error return.
By the way, there was some bug in fs in kernel that could lead to
panic even on clean filesystem (bad_dir as far as I remember). It is
very rare and it was fixed on DragonFly. As far as I remember a fix
for this was also commited to current recently.

I think that Linux is usually much smarter on this. By default it
remounts a file system as read-only in case it detects a filesystem
corruption. I would be very happy if FreeBSD could do the same,
because fs panics really hurt when you have many systems with disks.

Of course I think we could do patches to overcome corrupting panics,
but the core FreeBSD team would not accept this, as they are happy
with panics and corruptions they make to other filesystems.

Tuesday, May 2, 2006, 11:39:00 PM, you wrote:

> I had a chance to look some more at how the UFS2 filesystem code
> handles a corrupt filesystem. I have made a web page describing the
> tests and my findings:

> http://people.freebsd.org/~pho/baddir.html

> My daytime job will probably prevent me from looking further at
> this any time soon, so if anyone finds this of interest I can make
> the corrupted filesystems available.


-- 
/ Pavel Merdine





More information about the freebsd-fs mailing list