Please forgive me for probably a very stupid question. But why is FreeBSD so sensitive to filesystem errors that it ends up with panics like 'freeing free block' or 'ffs_valloc: dup alloc'? I just can't get it. Failed to allocate vnode? Go allocate another one! Freeing free block? Leave it free then! I understand these situations should never happen, but the hell why is it required to panic and kill everything that would be working happily even if something very disasterous happen to /backup partition, in example?
Probably because UFS is not designed to be a backup file system but a working one :)

All those errors indicate file system corruption. To protect other data from getting corrupted (e.g. by invalid pointers or calculations), the kernel panics.

To protect us against terrorists our government do strange things too ;-)

After panic data *is* getting corrupted anyway - MySQL tables that were open are broken, soft-updates are unsync'ed etc etc. Server is required to reboot, fsck, time is wasted while this occurs. Why all this should happen because of a single vnode fail? Why not just throw message in /var/log/messages, return "oh, I failed to save a file" to the process that initiated the operation and just go on? Are consequences of attept to "free already free block" *so* dangerous that it is needed to give up on EVERYTHING? Let's say it was not /backup partition, ok, it was /var/tmp/some-php-session or even /var/cron/tabs/someuser file that failed. So what? Even /boot/kernel/kernel corruption is not critical if you are not going to reboot right now (or if you have /boot/kernel.old :)

Is there a way to say "Dear kernel, don't panic, I'am holding your hand, keep working please-please-please?" If so, can it lead to complete filesystem corruption indeed or it is not so serious?

Thanks.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[email protected]"

Reply via email to