Date: Tue, 08 Dec 2009 13:41:04 +0300 From: cronfy <cronfy@sprinthost.ru> To: freebsd-questions@freebsd.org Subject: Re: FreeBSD is too filesystem errors sensitive Message-ID: <4B1E2D40.9060900@sprinthost.ru> In-Reply-To: <hfl7v5$f9j$1@ger.gmane.org> References: <4B1DF953.4050504@sprinthost.ru> <hfl7v5$f9j$1@ger.gmane.org>
next in thread | previous in thread | raw e-mail | index | archive | help
>> 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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B1E2D40.9060900>