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.
This commit is contained in:
cinap_lenrek 2017-01-06 02:54:26 +01:00
parent 19dc7c2097
commit df6c190831

View file

@ -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 */