ref: f0de08f79d1d6931c3829f4ad33818de5479b283
parent: 5943b07c27555189a92fbed56893483190f79601
author: Ori Bernstein <ori@eigenstate.org>
date: Sun Nov 12 17:50:02 EST 2023
fs: don't start epoch in dispatcher we can't access a tree, and we can block arbitrarily on flushing; this is a bad idea.
--- a/fs.c
+++ b/fs.c
@@ -2105,9 +2105,8 @@
}
h = ihash(m->fid) % fs->nreaders;
- epochstart(id);
switch(m->type){
- /* sync setup */
+ /* sync setup, must not access tree */
case Tversion: fsversion(m); break;
case Tauth: fsauth(m); break;
case Tclunk: fsclunk(m); break;
@@ -2141,7 +2140,6 @@
respond(m, &r);
break;
}
- epochend(id);
}
}