Not logged in
Log in now
Create an account
Subscribe to LWN
LWN.net Weekly Edition for May 23, 2013
An "enum" for Python 3
An unexpected perf feature
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
I imagine that Bcache caches O_DIRECT reads and writes, which could give a caching advantage even where an application has elected to bypass the ordinary buffer cache.
Bcache seems ideal for use in NFS servers, and iSCSI and FCoE targets. NFS servers are supposed to do synchronous writes, right? (Reliable, crash resistant) write behind caching would be outstanding.
Ramdisks and hard drives as cache devices
Posted Jul 8, 2010 14:57 UTC (Thu) by etienne (subscriber, #25256)
An application like a boot-loader installation/upgrade which tries to tell which disk sectors to load from the MBR?
I hope there is a sync() to write to (the real destination) disk.
Posted Jul 8, 2010 23:19 UTC (Thu) by koverstreet (subscriber, #4296)
Posted Jul 8, 2010 23:26 UTC (Thu) by jlayton (subscriber, #31672)
Not since NFSv3 was implemented. That gave the ability to do safe asynchronous writes. The client sends a bunch of WRITEs to the server and then issues a COMMIT. If the server crashes, the client will reissue uncommitted writes.
With NFSv2 however, you're correct that the server is supposed to do sync writes (and most do these days, at least by default).
Posted Jul 20, 2010 11:38 UTC (Tue) by neilbrown (subscriber, #359)
Posted Jul 22, 2010 20:59 UTC (Thu) by nix (subscriber, #2304)
Posted Jul 8, 2010 23:32 UTC (Thu) by koverstreet (subscriber, #4296)
That's what I've been working towards :)
Safe write behind caching really is a large step up in terms of the guarantees the cache has to be able to make - with writethrough caching, you just have to make sure you return good data, or nothing. And btree code is hard enough, so I've been working on getting the easy cases rock solid first - but safe write behind caching is absolutely happening. I've got some of the preliminary stuff out of the way and I'm hoping to have a rough initial version before too long, depending on how debugging the new stuff goes.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds