Hmm.. I thoght only the following fields was part of the swap-meta, but
it seems also the refcount and flags fields are intended to be there...
Ouch.. not good as this means all STORE_META_STD TLV fields currently
written by Squid-2.4 and later is broken, limiting the usefullness of
directory rebuilds (rebuilds without swap.state). Now fixed in HEAD but
we should perhaps backport the fix to 2.4.. (move the
directory/filenumber fields down)
Note: STORE_META_STD is only read during directory rebuilds without
swap.state. The same information is also kept differently in swap.state.
I fully agree. There should be a mapping in code between the meta layout
and in-core layout, as there is for swap.state (the storeSwapLogData
struct).
Regards
Henrik
Andres Kroonmaa wrote:
>
> Do we ever use TLV fields past timestamps during swapin time?
> It seems that currently we would load in inconsistent state.
> sfileno and sdirno are unexpected by meta code...
>
> Shouldn't we use _storeSwapLogData type while storing Meta?
> Would be imo logical to have it as a fixed-size preable to the
> saved object. We could then update it at a time we write clean
> swap.state or replace whenever needed. We would need to trash
> full cache contents when we change meta layout...
>
> Maybe instead we'd better handle each field separately by TLV?
> Then we can be "backwards compatible" while being free to rewrite
> meta header the way we like, within bounds of its initial size.
> Maybe it even makes sense to reserve some small space for fixed
> sized bits before URL and rest goes in.
>
> Adding new meta type after changing just StoreEntry layout seems
> not quite right...
Received on Mon Oct 08 2001 - 09:08:55 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:14:26 MST