ref: b017ff28be91c9f3aca6e25f0588903efce5fefd
parent: ea50e8ab08f8c76c9bed6169cb2bd6ea2696f44e
author: Ori Bernstein <ori@eigenstate.org>
date: Fri May 3 11:38:05 EDT 2024
fs: correctly defer freeing mountpoints
--- a/blk.c
+++ b/blk.c
@@ -914,6 +914,9 @@
case DFtree:
free(p->t);
break;
+ case DFmnt:
+ free(p->m);
+ break;
case DFblk:
a = getarena(p->bp.addr);
qe.op = Qfree;
--- a/fs.c
+++ b/fs.c
@@ -629,7 +629,7 @@
}
assert(me != nil);
f = emalloc(sizeof(Bfree), 0);
- f->op = DFblk;
+ f->op = DFmnt;
f->m = mnt;
*p = me->next;
limbo(f);