shithub: neoventi

ref: 221b65150f1b9c15551b6d7dd011ce1d882f7ca7
dir: /venti/dat.h/

View raw version
enum{
	ABlockLog		= 9,		/* log2(512), the quantum for reading arenas */
	ANameSize		= 64,
	MaxDiskBlock		= 64*1024,	/* max. allowed size for a disk block */
	MaxIoSize		= 64*1024,	/* max. allowed size for a disk io operation */
	PartBlank		= 256*1024,	/* untouched section at beginning of partition */
	HeadSize		= 512,		/* size of a header after PartBlank */
	MinArenaSize		= 1*1024*1024,	/* smallest reasonable arena size */
	MaxConfig		= 8 * 1024,	/* Maximum size of the configuration file */
	IndexBase		= 1024*1024,	/* initial address to use in an index */
	MaxIo			= 64*1024,	/* max size of a single read or write operation */
	ICacheBits		= 16,		/* default bits for indexing icache */
	MaxAMap			= 31*1024,	/* max. allowed arenas in an address mapping; must be < 32*1024 */
};

typedef struct {
	uint32_t version;
} arenapart;

typedef struct{
	char *index;
	/* Amount of memory to use for the cache */
	uint64_t mem;
	uint32_t naparts;
	arenapart **parts;
} config;