Core Cache

Core Cache Constants

EVACUATION_SIZE

The size of the contiguous area to check for evacuation.

Core Cache Types

class CacheKey

The hash value for a cache object. Currently a 128 bit MD5 hash.

class EvacuationBlock

A range of content to be evacuated.

class Vol

A representation of a cache stripe.

off_t data_blocks

The number of blocks of storage in the stripe.

DLL<EvacuationBlock> evacuate

A list of blocks to evacuate.

int aggWrite(int event, void *e)

Schedule the aggregation buffer to be written to disk.

class CacheProcessor

The singleton cache management object. This handles threads and global initialization for the cache.

int start(int n_threads, size_t stacksize)

Starts the cache processing threads, n_threads are created each with a stack of size stacksize.

class Span

A representation of a unit of cache storage, a single physical device, file, or directory.

class Store

A representation of a collection of cache storage.

Span **disk

List of Span instances that describe the physical storage.

class CacheDisk

A representation of the physical device used for a Span.

class CacheHostRecord

A record from hosting.config.

Core Cache Functions

int dir_probe(const CacheKey *key, Vol *d, Dir *result, Dir **last_collision)

Probe the stripe directory for a candidate directory entry.

void build_vol_hash_table(CacheHostRecord *r)

Based on the configuration record r, construct the global stripe assignment table.

int cplist_reconfigure()

Rebuild the assignment of stripes to volumes.

void ink_cache_init(ModuleVersion v)

Top level cache initialization logic.