I know this is a comparison of Apples and Oranges. I guess I was just
looking for a reality check on this seemingly large difference in
I know that it hurts performance but correctness is always
at odds with the desire for speed.
I suppose that boils down to the fact that it really does take a long
time to get the data onto the platter.
That is correct. However one does not always need to call
F_FULLFSYNC -- it should only be called for the critical
pieces of data that need it. That is, most writes can just
be issued normally (no fsync even). Only when you need to
write the header for your transaction to be complete would
you need to issue the F_FULLFSYNC fcntl.
So, in other words, we've gotten very used to the speed of the
cached write, without really thinking too hard about the data safety
That is a very good way to put it. The unfortunate thing is
that most of the time it's ok. It's only when it matters that
you'll find out that you can lose data.
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden