Subject Re: [firebird-support] More on database corruption (again)
Author Jonathan Neve
Alan McDonald wrote:

>>Hi again!
>>
>>There's one little point I forgot to make in my previous post.
>>
>>There are now filesystems that garantee the order of asynchronous write
>>(LinLogFS, and, I think, ReiserFS v4). On such file systems, would it be
>>safe to turn ForcedWrites off, thus gaining a lot of performance?
>>
>>Thanks!
>>
>>Jonathan Neve.
>>
>>
>
>I don't think it's the order per se that's important as much as it is the OS
>making untimely writes.
>
Well, that's what I thought Ann was saying. But perhaps I misunderstood...

>Forced writes on Windows is important because
>windows will cache it's writes and it is not as reliable as Linux in the
>server stakes.
>
Do you mean that it's not as important under Linux?

>Let's not forget that OS's do not know how to recognise the
>boundary of database transactions. The database server is the only thing
>which knows this.
>
>
Of course. But why does this matter? If the FS garantees that blocks
will be written in the order the database server gives them to it, and
that every block write is atomic, then if the server dies suddenly
whilst it's writing to the disk, some of the blocks might not have been
written yet, but at least everything that has been written is
consistant, and therefore shouldn't cause any database corruption. As
far as I understand it, this is how ForcedWrites works (by using
synchronous writes). On a FS that garantees the order of asynchronous
writes, don't you think it would be safe to turn ForcedWrites off, thus
gaining a lot of performance?

Also, I read that ReiserFS v.4 is going to introduce an explicit
transaction-handling API. If this was used, a FireBird transaction could
be made to correspond to a FS transaction...

Thanks!

Jonathan Neve.


[Non-text portions of this message have been removed]