dump.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 48 行

C
48
字号
#include "stdinc.h"#include "dat.h"#include "fns.h"voidprintIndex(int fd, Index *ix){	int i;	fprint(fd, "index=%s version=%d blockSize=%d tabSize=%d\n",		ix->name, ix->version, ix->blockSize, ix->tabSize);	fprint(fd, "\tbuckets=%d div=%d\n", ix->buckets, ix->div);	for(i = 0; i < ix->nsects; i++)		fprint(fd, "\tsect=%s for buckets [%lld,%lld)\n", ix->smap[i].name, ix->smap[i].start, ix->smap[i].stop);	for(i = 0; i < ix->narenas; i++)		fprint(fd, "\tarena=%s at [%lld,%lld)\n", ix->amap[i].name, ix->amap[i].start, ix->amap[i].stop);}voidprintArenaPart(int fd, ArenaPart *ap){	int i;	fprint(fd, "arena partition=%s\n\tversion=%d blockSize=%d arenas=%d\n\tsetBase=%d setSize=%d\n",		ap->part->name, ap->version, ap->blockSize, ap->narenas, ap->tabBase, ap->tabSize);	for(i = 0; i < ap->narenas; i++)		fprint(fd, "\tarena=%s at [%lld,%lld)\n", ap->map[i].name, ap->map[i].start, ap->map[i].stop);}voidprintArena(int fd, Arena *arena){	fprint(fd, "arena='%s' [%lld,%lld)\n\tversion=%d created=%d modified=%d",		arena->name, arena->base-arena->blockSize, arena->base + arena->size + arena->blockSize,		arena->version, arena->ctime, arena->wtime);	if(arena->sealed)		fprint(2, " sealed\n");	else		fprint(2, "\n");	if(!scoreEq(zeroScore, arena->score))		fprint(2, "\tscore=%V\n", arena->score);	fprint(fd, "\tclumps=%,d compressed clumps=%,d data=%,lld compressed data=%,lld disk storage=%,lld\n",		arena->clumps, arena->cclumps, arena->uncsize,		arena->used - arena->clumps * ClumpSize,		arena->used + arena->clumps * ClumpInfoSize);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?