Re: which OutputStreams are buffered?
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Content-Type: TEXT/PLAIN; charset=iso-8859-1; format=flowed
On Tue, 20 May 2008, Lew wrote:
Arne VajhHj wrote:
At that level there are not much guarantees for anything.
I guess one of the reasons is that it can be very difficult to
implement an API that make it 100% sure the data is at location that
is rotating. Cache in RAID controllers, cache in disk drives,
file servers, NAS, SAN etc.etc..
From what I understand one can configure certain file systems to be truthful
about their [f]sync activity. The program may not be able to count on that,
but it has to trust the file system to do its part in accordance with system
The key to safe writes isn't so much how quickly they happen, but that
they don't report completion until they're actually written.
Synchronous writes come back certain of their outcome.
Exactly. And that's such a fundamental principle of storage that i'd be
surprised if there was any component in the chain that didn't support it -
they may all have caches, but that just means they all also have to
provide a flush mechanism.
An interesing case would be in a super-reliable data shop, where all data
written to disk gets backed up on tape. Would flush() wait for the backups
to be made? :)
I need a proper outlet for my tendency towards analytical thought. --