diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-01-06 02:54:26 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-01-06 02:54:26 +0100 |
commit | df6c19083157e4a79753c89e7b6d12d3dca39f09 (patch) | |
tree | adfaee65af09ae9a04ff20e53825c3698893c55a /sys/src/cmd/cfs/cfs.c | |
parent | 19dc7c2097cbbdeeef02ba79161a2c67f3ba3987 (diff) |
cfs: fix cfsctl interaction with mount cache (mount -C flag)
the root fileserver is mounted with the mount cache enabled
causing the contents of the cfsctl file to be cached as well
leading to wrong results. so after we generated the new stat
buffer, we increment the qid.vers so the cache starts out
clean.
Diffstat (limited to 'sys/src/cmd/cfs/cfs.c')
-rw-r--r-- | sys/src/cmd/cfs/cfs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/cmd/cfs/cfs.c b/sys/src/cmd/cfs/cfs.c index 82a508684..c3a11b9b5 100644 --- a/sys/src/cmd/cfs/cfs.c +++ b/sys/src/cmd/cfs/cfs.c @@ -438,10 +438,11 @@ ropen(Mfile *mf) sendreply("does not exist"); return; } + genstats(); + ctlqid.vers++; c.rhdr.qid = ctlqid; c.rhdr.iounit = 0; sendreply(0); - genstats(); return; } if(delegate() == 0){ @@ -650,7 +651,6 @@ rstat(Mfile *mf) Dir d; if(statson && ctltest(mf)){ - genstats(); d.qid = ctlqid; d.mode = 0444; d.length = statlen; /* would be nice to do better */ |