shithub: gefs

Download patch

ref: 521bb145a502cdb04984d67336c959a2fed424fa
parent: d1f3032377b2df70333317c10499790a40b90194
author: Ori Bernstein <ori@eigenstate.org>
date: Tue Dec 26 00:18:49 EST 2023

fs: hold mutlk when cleaning the snap deadlist

--- a/fs.c
+++ b/fs.c
@@ -153,6 +153,7 @@
 	/*
 	 * Pass 4: clean up the old snap tree's deadlist
 	 */
+	qlock(&fs->mutlk);
 	freedl(&fs->snapdl, 1);
 	fs->snapdl.hd.addr = -1;
 	fs->snapdl.hd.hash = -1;
@@ -161,6 +162,7 @@
 	fs->snapdl.tl.hash = -1;
 	fs->snapdl.tl.gen = -1;
 	fs->snapdl.ins = nil;
+	qunlock(&fs->mutlk);
 	wrbarrier();
 	qunlock(&fs->synclk);
 	poperror();