| Date: Fri, 11 Feb 2005 19:45:55 +0000
remove factotum directory
Diffstat:
M src/cmd/factotum/dat.h | 2 ++
M src/cmd/factotum/fs.c | 10 ++++++++--
M src/cmd/factotum/main.c | 4 ++++
3 files changed, 14 insertions(+), 2 deletions(-)
--- |
| t@@ -221,5 +221,7 @@ extern int xiowrite(int, void*, int);
extern int xioasrdresp(int, void*, int);
extern int xioasgetticket(int, char*, char*);
+extern int extrafactotumdir;
+
int havesecstore(void);
int secstorefetch(void); |
| t@@ -15,6 +15,8 @@ enum
Qconv,
};
+static int qtop;
+
Qid
mkqid(int type, int path)
{
t@@ -106,7 +108,7 @@ fswalk1(Fid *fid, char *name, Qid *qid)
return nil;
}
if(strcmp(name, "..") == 0){
- *qid = mkqid(QTDIR, Qroot);
+ *qid = mkqid(QTDIR, qtop);
fid->qid = *qid;
return nil;
}
t@@ -482,7 +484,7 @@ fsproc(void *v)
static void
fsattach(Req *r)
{
- r->fid->qid = mkqid(QTDIR, Qroot);
+ r->fid->qid = mkqid(QTDIR, qtop);
r->ofcall.qid = r->fid->qid;
respond(r, nil);
}
t@@ -505,6 +507,10 @@ fsstart(Srv *s)
{
USED(s);
+ if(extrafactotumdir)
+ qtop = Qroot;
+ else
+ qtop = Qfactotum;
creq = chancreate(sizeof(Req*), 0);
cfid = chancreate(sizeof(Fid*), 0);
cfidr = chancreate(sizeof(Fid*), 0); |
| t@@ -1,6 +1,7 @@
#include "std.h"
#include "dat.h"
+int extrafactotumdir;
int debug;
int trysecstore = 1;
char *factname = "factotum";
t@@ -57,6 +58,9 @@ threadmain(int argc, char *argv[])
case 'n':
trysecstore = 0;
break;
+ case 'x':
+ extrafactotumdir = 1;
+ break;
}ARGEND
if(argc != 0) |