On Jul 10, 2006 09:04 +0200, Roger Larsson wrote: > I have been thinking about a file system that uses Copy On First Read. > My idea looks like this: > > 1. Split the disk in three parts (unused, write, used - could be growing from > top and bottom like heap and stack) > 2. Writes goes to one part - log structured, like a tape. Fragmentation of > files are OK, but buffering is done to prevent the worst cases. > > This to allow fast write of huge amounts of data. > > Later when the file is first read > * the size is known. > * is probably read together with other files that in future will be used > together. > > So the allocation rule for the copy on first read can use these facts. > Only files that are actually used will be read and thus rewritten. > > This will leave unused files in the write part. This old files can be > compacted to and moved to the 'unused' part to give a continuous area to > use as write part. These files could even be moved to a slower media > (if available). > > Log files will remain in 'write/unused' sections until searched. It doesn't sound significantly different than a regular log-structured filesystem. You still need a cleaner thread to move files around and keep the free space contiguous. Since this is (in essence) data journaling all writes, you need to have double the disk bandwidth in order to rewrite all of the files that are read. Cheers, Andreas -- Andreas Dilger Principal Software Engineer Cluster File Systems, Inc. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html