URI:
       tsyncindex.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tsyncindex.c (1275B)
       ---
            1 #include "stdinc.h"
            2 #include "dat.h"
            3 #include "fns.h"
            4 
            5 static        int        verbose;
            6 void
            7 usage(void)
            8 {
            9         fprint(2, "usage: syncindex [-v] [-B blockcachesize] config\n");
           10         threadexitsall("usage");
           11 }
           12 
           13 Config conf;
           14 
           15 void
           16 threadmain(int argc, char *argv[])
           17 {
           18         u32int bcmem, icmem;
           19 
           20         bcmem = 0;
           21         icmem = 0;
           22         ARGBEGIN{
           23         case 'B':
           24                 bcmem = unittoull(EARGF(usage()));
           25                 break;
           26         case 'I':
           27                 icmem = unittoull(EARGF(usage()));
           28                 break;
           29         case 'v':
           30                 verbose++;
           31                 break;
           32         default:
           33                 usage();
           34                 break;
           35         }ARGEND
           36 
           37         if(argc != 1)
           38                 usage();
           39 
           40         ventifmtinstall();
           41         if(initventi(argv[0], &conf) < 0)
           42                 sysfatal("can't init venti: %r");
           43         if(mainindex->bloom && loadbloom(mainindex->bloom) < 0)
           44                 sysfatal("can't load bloom filter: %r");
           45 
           46         if(bcmem < maxblocksize * (mainindex->narenas + mainindex->nsects * 4 + 16))
           47                 bcmem = maxblocksize * (mainindex->narenas + mainindex->nsects * 4 + 16);
           48         if(0) fprint(2, "initialize %d bytes of disk block cache\n", bcmem);
           49         initdcache(bcmem);
           50         initlumpcache(1*1024*1024, 1024/8);
           51         initicache(icmem);
           52         initicachewrite();
           53         if(mainindex->bloom)
           54                 startbloomproc(mainindex->bloom);
           55 
           56         if(verbose)
           57                 printindex(2, mainindex);
           58         if(syncindex(mainindex) < 0)
           59                 sysfatal("failed to sync index=%s: %r", mainindex->name);
           60         flushicache();
           61         flushdcache();
           62 
           63         threadexitsall(0);
           64 }