ref: df6c19083157e4a79753c89e7b6d12d3dca39f09
parent: 19dc7c2097cbbdeeef02ba79161a2c67f3ba3987
author: cinap_lenrek <[email protected]>
date: Thu Jan 5 21:54:26 EST 2017
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.
--- a/sys/src/cmd/cfs/cfs.c
+++ b/sys/src/cmd/cfs/cfs.c
@@ -438,10 +438,11 @@
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 @@
Dir d;
if(statson && ctltest(mf)){
- genstats();
d.qid = ctlqid;
d.mode = 0444;
d.length = statlen; /* would be nice to do better */