Duane Wessels <[EMAIL PROTECTED]> writes: >> Here's a fun suggestion from our friend Robert - how about creating a >> _directory_ instead of a file for the COSS cachedir? Then we can place >> the store logfile in there, the coss storefile in there _and_ any other >> metadata. It'd make life a whole lot easier and mean you won't get bitten >> by the requirement to specify swaplog paths.. > > The only reason not to do that is if we want to eventually support > using raw devices/partitions for COSS storage. I think it was one > of the original plans. > > However, to do that, the current code would need some enhancements > to make sure that I/Os occur on 512-byte boundaries and are always > a multiple of 512 in size. > > That might get around some 2GB file-size limits in some cases too. > > Performance-wise, I suspect it doesn't matter. Using the filesystem > seems to give darn good throughput already.
In fact, it's a common trend in current RDBMs: they're starting to favour storage areas on fileystems rather than on raw devices. Linux has better support for filesystem-based raw operations (O_DIRECT) than to raw devices proper. BTW: O_DIRECT would be a good approach to our FS I/O work but: - we need to be able to keep an object hot after reading it - the OS won't do it for us anymore - it only supports reading and writing on page boundaries, typically 4kb (we'd need to be able to pad) I think it will be an interesting little project after Robert has completed his I/O refactoring work. -- kinkie (kinkie-squid [at] kinkie [dot] it) Random fortune, unrelated to the message: The first duty of a revolutionary is to get away with it. -- Abbie Hoffman