diff options
author | Russ Cox <rsc@swtch.com> | 2007-09-25 09:47:31 -0400 |
---|---|---|
committer | Russ Cox <rsc@swtch.com> | 2007-09-25 09:47:31 -0400 |
commit | 7a400ee957a0815287af806e18ef90dd18b47f82 (patch) | |
tree | 023076fb829f630384f2f394eb9577a81fdca59e /src/cmd/venti/srv/index.c | |
parent | 25a4e89fa907ed5a5f5d84eccfb66180007d9c68 (diff) | |
download | plan9port-7a400ee957a0815287af806e18ef90dd18b47f82.tar.gz plan9port-7a400ee957a0815287af806e18ef90dd18b47f82.tar.bz2 plan9port-7a400ee957a0815287af806e18ef90dd18b47f82.zip |
venti: new icache
Diffstat (limited to 'src/cmd/venti/srv/index.c')
-rw-r--r-- | src/cmd/venti/srv/index.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/cmd/venti/srv/index.c b/src/cmd/venti/srv/index.c index a5ffeef9..dd49e055 100644 --- a/src/cmd/venti/srv/index.c +++ b/src/cmd/venti/srv/index.c @@ -596,6 +596,25 @@ print("want arena %d for %llux\n", l, a); return ix->arenas[l]; } +/* + * convert an arena index to the bounds of the containing arena group. + */ +Arena* +amapitoag(Index *ix, u64int a, u64int *gstart, u64int *glimit, int *g) +{ + u64int aa; + Arena *arena; + + arena = amapitoa(ix, a, &aa); + if(arena == nil) + return nil; + if(arenatog(arena, aa, gstart, glimit, g) < 0) + return nil; + *gstart += a - aa; + *glimit += a - aa; + return arena; +} + int iaddrcmp(IAddr *ia1, IAddr *ia2) { |