ref: 40726771923925e566f65389a8d09fd5932a47d0
parent: 9d215d5af232112242d17641304c037d16cd0290
author: Ori Bernstein <ori@eigenstate.org>
date: Sat Oct 22 15:42:29 EDT 2022
fs: handle flushes immediately don't dispatch them to the reader thread; they're not reader operations.
--- a/fs.c
+++ b/fs.c
@@ -1888,7 +1888,8 @@
/* sync setup */
case Tversion: fsversion(m); break;
case Tauth: fsauth(m); break;
- case Tclunk: fsclunk(m); break;
+ case Tclunk: fsclunk(m); break;
+ case Tflush: fsflush(m); break;
/* mutators */
case Tcreate: chsend(fs->wrchan, m); break;
@@ -1898,7 +1899,6 @@
/* reads */
case Tattach: chsend(fs->rdchan, m); break;
- case Tflush: chsend(fs->rdchan, m); break;
case Twalk: chsend(fs->rdchan, m); break;
case Tread: chsend(fs->rdchan, m); break;
case Tstat: chsend(fs->rdchan, m); break;
@@ -1983,7 +1983,6 @@
m = chrecv(fs->rdchan, 1);
epochstart(wid);
switch(m->type){
- case Tflush: rerror(m, Eimpl); break;
case Tattach: fsattach(m); break;
case Twalk: fswalk(m); break;
case Tread: fsread(m); break;