shithub: gefs

Download patch

ref: 675f57b02443c0e9f57a584018687d4ede3ae83c
parent: cc358d4bc9bd38c4d605c73f934cff643fe8519c
author: Michael Forney <[email protected]>
date: Wed Feb 16 04:40:48 EST 2022

blk: fix free pointer update
When the pointer update was moved inside the lock, it was accidentally
moved into the if-statement, causing blocks to never be freed.

--- a/blk.c
+++ b/blk.c
@@ -882,8 +882,8 @@
 	if(fs->freep != nil){
 		p = fs->freep->next;
 		fs->freep->next = nil;
-		fs->freep = fs->freehd;
 	}
+	fs->freep = fs->freehd;
 	unlock(&fs->freelk);
 
 	while(p != nil){