1 7a4ee46d 2003-11-23 devnull #include "stdinc.h"
2 7a4ee46d 2003-11-23 devnull #include "dat.h"
3 7a4ee46d 2003-11-23 devnull #include "fns.h"
5 7a4ee46d 2003-11-23 devnull static int verbose;
7 7a4ee46d 2003-11-23 devnull usage(void)
9 7a4ee46d 2003-11-23 devnull fprint(2, "usage: syncindex [-fv] [-B blockcachesize] config\n");
10 7a4ee46d 2003-11-23 devnull threadexitsall("usage");
14 7a4ee46d 2003-11-23 devnull threadmain(int argc, char *argv[])
16 7a4ee46d 2003-11-23 devnull u32int bcmem;
20 7a4ee46d 2003-11-23 devnull bcmem = 0;
21 7a4ee46d 2003-11-23 devnull ARGBEGIN{
22 7a4ee46d 2003-11-23 devnull case 'B':
23 7a4ee46d 2003-11-23 devnull bcmem = unittoull(ARGF());
25 7a4ee46d 2003-11-23 devnull case 'f':
28 7a4ee46d 2003-11-23 devnull case 'v':
29 7a4ee46d 2003-11-23 devnull verbose++;
37 7a4ee46d 2003-11-23 devnull readonly = 1;
39 7a4ee46d 2003-11-23 devnull if(argc != 1)
42 7a4ee46d 2003-11-23 devnull if(initventi(argv[0]) < 0)
43 7a4ee46d 2003-11-23 devnull sysfatal("can't init venti: %r");
45 7a4ee46d 2003-11-23 devnull if(bcmem < maxblocksize * (mainindex->narenas + mainindex->nsects * 4 + 16))
46 7a4ee46d 2003-11-23 devnull bcmem = maxblocksize * (mainindex->narenas + mainindex->nsects * 4 + 16);
47 7a4ee46d 2003-11-23 devnull fprint(2, "initialize %d bytes of disk block cache\n", bcmem);
48 7a4ee46d 2003-11-23 devnull initdcache(bcmem);
50 7a4ee46d 2003-11-23 devnull if(verbose)
51 7a4ee46d 2003-11-23 devnull printindex(2, mainindex);
52 7a4ee46d 2003-11-23 devnull if(syncindex(mainindex, fix) < 0)
53 7a4ee46d 2003-11-23 devnull sysfatal("failed to sync index=%s: %r\n", mainindex->name);
55 7a4ee46d 2003-11-23 devnull threadexitsall(0);