diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-02-18 22:15:06 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-02-18 22:15:06 +0100 |
commit | 9c40e15ba8ae000f73c23d89143d6c44b75220fd (patch) | |
tree | 28c9dd049b016245aaf6ed64c53fe085edab1d99 /sys/src/cmd/exportfs/exportfs.h | |
parent | 152c9d525b58a2ed4ea4daac47438efd835202ce (diff) |
exportfs: fix flush races, proc sweeping
Diffstat (limited to 'sys/src/cmd/exportfs/exportfs.h')
-rw-r--r-- | sys/src/cmd/exportfs/exportfs.h | 8 |
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*); |