From df6c19083157e4a79753c89e7b6d12d3dca39f09 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Fri, 6 Jan 2017 02:54:26 +0100 Subject: 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. --- sys/src/cmd/cfs/cfs.c | 4 ++-- 1 file 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 */ -- cgit v1.2.3