summaryrefslogtreecommitdiff
path: root/sys/src/cmd/exportfs/exportfs.h
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-02-18 22:15:06 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2014-02-18 22:15:06 +0100
commit9c40e15ba8ae000f73c23d89143d6c44b75220fd (patch)
tree28c9dd049b016245aaf6ed64c53fe085edab1d99 /sys/src/cmd/exportfs/exportfs.h
parent152c9d525b58a2ed4ea4daac47438efd835202ce (diff)
exportfs: fix flush races, proc sweeping
Diffstat (limited to 'sys/src/cmd/exportfs/exportfs.h')
-rw-r--r--sys/src/cmd/exportfs/exportfs.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/src/cmd/exportfs/exportfs.h b/sys/src/cmd/exportfs/exportfs.h
index 77709d0d9..b3587fab2 100644
--- a/sys/src/cmd/exportfs/exportfs.h
+++ b/sys/src/cmd/exportfs/exportfs.h
@@ -15,8 +15,6 @@ typedef struct Qidtab Qidtab;
struct Fsrpc
{
Fsrpc *next; /* freelist */
- uintptr pid; /* Pid of slave process executing the rpc */
- int canint; /* Interrupt gate */
int flushtag; /* Tag on which to reply to flush */
Fcall work; /* Plan 9 incoming Fcall */
uchar buf[]; /* Data buffer */
@@ -53,9 +51,10 @@ struct File
struct Proc
{
- uintptr pid;
+ Lock;
Fsrpc *busy;
Proc *next;
+ int pid;
};
struct Qidtab
@@ -70,7 +69,6 @@ struct Qidtab
enum
{
- MAXPROC = 50,
FHASHSIZE = 64,
Fidchunk = 1000,
Npsmpt = 32,
@@ -128,7 +126,7 @@ void freefile(File*);
void slaveopen(Fsrpc*);
void slaveread(Fsrpc*);
void slavewrite(Fsrpc*);
-void blockingslave(void);
+void blockingslave(Proc*);
void reopen(Fid *f);
void noteproc(int, char*);
void flushaction(void*, char*);