diff options
author | rsc <devnull@localhost> | 2003-11-23 17:54:58 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2003-11-23 17:54:58 +0000 |
commit | 7a4ee46d253e291044bba2d0c54b818b67ac013c (patch) | |
tree | 7bdcaf69a15ecd24c057a697936b67bbde93e00b /src/cmd/venti/dump.c | |
parent | 4fbfdd7acd4bf4fc71b1329230e05fc761907566 (diff) | |
download | plan9port-7a4ee46d253e291044bba2d0c54b818b67ac013c.tar.gz plan9port-7a4ee46d253e291044bba2d0c54b818b67ac013c.tar.bz2 plan9port-7a4ee46d253e291044bba2d0c54b818b67ac013c.zip |
Initial stab at Venti.
Diffstat (limited to 'src/cmd/venti/dump.c')
-rw-r--r-- | src/cmd/venti/dump.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/cmd/venti/dump.c b/src/cmd/venti/dump.c new file mode 100644 index 00000000..12fcddda --- /dev/null +++ b/src/cmd/venti/dump.c @@ -0,0 +1,47 @@ +#include "stdinc.h" +#include "dat.h" +#include "fns.h" + +void +printindex(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); +} + +void +printarenapart(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); +} + +void +printarena(int fd, Arena *arena) +{ + fprint(fd, "arena='%s' [%lld,%lld)\n\tversion=%d created=%d modified=%d", + arena->name, arena->base, arena->base + arena->size + 2 * arena->blocksize, + arena->version, arena->ctime, arena->wtime); + if(arena->sealed) + fprint(2, " sealed\n"); + else + fprint(2, "\n"); + if(scorecmp(zeroscore, arena->score) != 0) + 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); +} |