Andres Kroonmaa wrote:
> Idea in netapp's WAFL is to use snapshots on everything, on every FS write
> (which includes also removals). Several inode updates are needed indeed,
> but WA allows them to be batched together into single write op, thus any
> mod to the FS is mostly 1-diskop action. no?
Correct.
But it also implies that you need to read or already have in memory all
these blocks, and these changes propagate quite far "upwards".
Don't forget that for every block moved, you also need to update the
pointers refering to these blocks. This includes changes to inode files,
block maps, directories etc, and their chains of references. This adds
up pretty quickly. But it is true that batching can cut these down
considerably (and is why NVRAM is required). The techniques of "soft
updates" can also be used to limit the amount of updates per operation,
but greatly adds to the complexity of things.
> True when looked as a traditional unix-FS. For squid this would be modified
> to use FIFO-like cyclic store, always writing at tail of log, wiping old
> stuff. In fact, as has been discussed in FIFO-LRU approach, even traditional
> FS could rewrite read-only accessed files to reorganize FS layout "for free".
True, but the WAFL approach does not have a log, it uses a normal block
based storage with freely relocatable metadata, and with all the normal
traditional FS metadata.
Lots of the benefits provided by the traditional FS metadata is not
required for a cache, but is highly needed in a system needing to store
"traditional files".
> > * Free space will most certainly degrade and fragment over time unless there
> > is a defragmenter cleaning things up.
>
> Not an issue for Squid in fifo-lru case I think.
Perhaps not as bad if you are using a FIFO policy on the files stored on
a WAFL filesystem, but fragmentation over time still exists.
> hmm, why not? I'd agree that it is not a best FS for small objects <4K
> (simple COSS would be much better), but as a general "fit-all" squid-FS
> it could be pretty good, imo.
Do we need a general purpose filesystem for Squid?
Regards
Henrik
Received on Tue Nov 27 2001 - 03:45:24 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:14:39 MST