ref: 8c046fe451b63293e5cdcb9d033cca0a37be66da
parent: 005bd2b7e10b0084f74d1af3f9523551348b31d9
author: Ori Bernstein <ori@eigenstate.org>
date: Tue Jun 4 13:49:49 EDT 2024
gefs: revert cacheflag() it seems likely that it was causing writeback bugs, revert until further testing, and likely move to a different approach.
--- a/sys/src/cmd/gefs/blk.c
+++ b/sys/src/cmd/gefs/blk.c
@@ -937,7 +937,6 @@
qe.bp = p->bp;
qe.b = nil;
qput(a->sync, qe);
- cacheflag(p->bp.addr, Bfreed);
if(p->b != nil){
clrflag(p->b, Blimbo);
setflag(p->b, Bfreed);
--- a/sys/src/cmd/gefs/cache.c
+++ b/sys/src/cmd/gefs/cache.c
@@ -132,23 +132,6 @@
qunlock(&fs->lrulk);
}
-void
-cacheflag(vlong addr, int flg)
-{
- Bucket *bkt;
- u32int h;
- Blk *b;
-
- h = ihash(addr);
- bkt = &fs->bcache[h % fs->cmax];
- qlock(&fs->lrulk);
- for(b = bkt->b; b != nil; b = b->hnext)
- if(b->bp.addr == addr)
- setflag(b, flg);
- qunlock(&fs->lrulk);
-
-}
-
Blk*
cacheget(vlong addr)
{
--- a/sys/src/cmd/gefs/fns.h
+++ b/sys/src/cmd/gefs/fns.h
@@ -47,7 +47,6 @@
void lrubot(Blk*);
void cacheins(Blk*);
void cachedel(vlong);
-void cacheflag(vlong, int);
Blk* cacheget(vlong);
Blk* cachepluck(void);