cwfs: store newcache format option in config
This commit is contained in:
parent
54e72f3e9c
commit
67bb0a2c7a
|
@ -451,6 +451,8 @@ mergeconf(Iobuf *p)
|
||||||
} else if(strcmp(word, "readonly") == 0){
|
} else if(strcmp(word, "readonly") == 0){
|
||||||
if(!readonlyset)
|
if(!readonlyset)
|
||||||
readonly = 1;
|
readonly = 1;
|
||||||
|
} else if(strcmp(word, "newcache") == 0){
|
||||||
|
conf.newcache = 1;
|
||||||
} else if(strcmp(word, "ipauth") == 0) /* obsolete */
|
} else if(strcmp(word, "ipauth") == 0) /* obsolete */
|
||||||
cp = getwrd(word, cp);
|
cp = getwrd(word, cp);
|
||||||
else if(astrcmp(word, "ip") == 0) /* obsolete */
|
else if(astrcmp(word, "ip") == 0) /* obsolete */
|
||||||
|
@ -595,6 +597,8 @@ start:
|
||||||
cp = seprint(cp, ep, "noauth\n");
|
cp = seprint(cp, ep, "noauth\n");
|
||||||
if(readonly)
|
if(readonly)
|
||||||
cp = seprint(cp, ep, "readonly\n");
|
cp = seprint(cp, ep, "readonly\n");
|
||||||
|
if(conf.newcache)
|
||||||
|
cp = seprint(cp, ep, "newcache\n");
|
||||||
for (fsp = fspar; fsp->name != nil; fsp++)
|
for (fsp = fspar; fsp->name != nil; fsp++)
|
||||||
cp = seprint(cp, ep, "%s %ld\n",
|
cp = seprint(cp, ep, "%s %ld\n",
|
||||||
fsp->name, fsp->declared);
|
fsp->name, fsp->declared);
|
||||||
|
|
|
@ -84,8 +84,6 @@ static char* cwnames[] =
|
||||||
[Orele] "rele",
|
[Orele] "rele",
|
||||||
};
|
};
|
||||||
|
|
||||||
int oldcachefmt = 1;
|
|
||||||
|
|
||||||
Centry* getcentry(Bucket*, Off);
|
Centry* getcentry(Bucket*, Off);
|
||||||
int cwio(Device*, Off, void*, int);
|
int cwio(Device*, Off, void*, int);
|
||||||
void cmd_cwcmd(int, char*[]);
|
void cmd_cwcmd(int, char*[]);
|
||||||
|
@ -302,10 +300,10 @@ dumpblock(Device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
found:
|
found:
|
||||||
if (oldcachefmt)
|
if (conf.newcache)
|
||||||
a = a*CEPERBK + (c - b->entry) + caddr;
|
|
||||||
else
|
|
||||||
a += (c - b->entry)*msize + caddr;
|
a += (c - b->entry)*msize + caddr;
|
||||||
|
else
|
||||||
|
a = a*CEPERBK + (c - b->entry) + caddr;
|
||||||
p1 = getbuf(devnone, Cwdump1, 0);
|
p1 = getbuf(devnone, Cwdump1, 0);
|
||||||
count = 0;
|
count = 0;
|
||||||
|
|
||||||
|
@ -562,10 +560,10 @@ cwio(Device *dev, Off addr, void *buf, int opcode)
|
||||||
|
|
||||||
bn = addr % h->msize;
|
bn = addr % h->msize;
|
||||||
a1 = h->maddr + bn/BKPERBLK;
|
a1 = h->maddr + bn/BKPERBLK;
|
||||||
if (oldcachefmt)
|
if (conf.newcache)
|
||||||
a2 = bn*CEPERBK + h->caddr;
|
|
||||||
else
|
|
||||||
a2 = bn + h->caddr;
|
a2 = bn + h->caddr;
|
||||||
|
else
|
||||||
|
a2 = bn*CEPERBK + h->caddr;
|
||||||
max = h->wmax;
|
max = h->wmax;
|
||||||
|
|
||||||
putbuf(cb);
|
putbuf(cb);
|
||||||
|
@ -583,10 +581,10 @@ cwio(Device *dev, Off addr, void *buf, int opcode)
|
||||||
cw->cdev, (Wideoff)a1);
|
cw->cdev, (Wideoff)a1);
|
||||||
return Cerror;
|
return Cerror;
|
||||||
}
|
}
|
||||||
if (oldcachefmt)
|
if (conf.newcache)
|
||||||
a2 += c - b->entry;
|
|
||||||
else
|
|
||||||
a2 += (c - b->entry) * h->msize;
|
a2 += (c - b->entry) * h->msize;
|
||||||
|
else
|
||||||
|
a2 += c - b->entry;
|
||||||
|
|
||||||
state = c->state;
|
state = c->state;
|
||||||
switch(opcode) {
|
switch(opcode) {
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
#include "io.h"
|
#include "io.h"
|
||||||
#include "9p1.h"
|
#include "9p1.h"
|
||||||
|
|
||||||
extern int oldcachefmt;
|
|
||||||
|
|
||||||
Map *devmap;
|
Map *devmap;
|
||||||
|
|
||||||
Biobuf bin;
|
Biobuf bin;
|
||||||
|
@ -293,6 +291,7 @@ main(int argc, char **argv)
|
||||||
formatinit();
|
formatinit();
|
||||||
machinit();
|
machinit();
|
||||||
conf.confdev = "/dev/sdC0/fscache";
|
conf.confdev = "/dev/sdC0/fscache";
|
||||||
|
conf.newcache = 0;
|
||||||
|
|
||||||
ARGBEGIN{
|
ARGBEGIN{
|
||||||
case 'a': /* announce on this net */
|
case 'a': /* announce on this net */
|
||||||
|
@ -318,7 +317,7 @@ main(int argc, char **argv)
|
||||||
open("#c/cons", OWRITE);
|
open("#c/cons", OWRITE);
|
||||||
break;
|
break;
|
||||||
case 'C': /* use new, faster cache layout */
|
case 'C': /* use new, faster cache layout */
|
||||||
oldcachefmt = 0;
|
conf.newcache = 1;
|
||||||
break;
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
conf.configfirst++;
|
conf.configfirst++;
|
||||||
|
|
|
@ -436,6 +436,7 @@ struct Conf
|
||||||
|
|
||||||
uchar nodump; /* no periodic dumps */
|
uchar nodump; /* no periodic dumps */
|
||||||
uchar dumpreread; /* read and compare in dump copy */
|
uchar dumpreread; /* read and compare in dump copy */
|
||||||
|
uchar newcache;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
Loading…
Reference in a new issue