projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a592cdf
)
bcachefs: Fix failure to flush moves before sleeping in copygc
author
Kent Overstreet
<kent.overstreet@linux.dev>
Fri, 23 Aug 2024 21:38:41 +0000
(17:38 -0400)
committer
Kent Overstreet
<kent.overstreet@linux.dev>
Sat, 24 Aug 2024 14:16:21 +0000
(10:16 -0400)
This fixes an apparent deadlock - rebalance would get stuck trying to
take nocow locks because they weren't being released by copygc.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/movinggc.c
patch
|
blob
|
history
diff --git
a/fs/bcachefs/movinggc.c
b/fs/bcachefs/movinggc.c
index
deef4f0
..
d86565b
100644
(file)
--- a/
fs/bcachefs/movinggc.c
+++ b/
fs/bcachefs/movinggc.c
@@
-383,7
+383,7
@@
static int bch2_copygc_thread(void *arg)
if (min_member_capacity == U64_MAX)
min_member_capacity = 128 * 2048;
-
bch2_trans_unlock_long(ctxt.trans
);
+
move_buckets_wait(&ctxt, buckets, true
);
bch2_kthread_io_clock_wait(clock, last + (min_member_capacity >> 6),
MAX_SCHEDULE_TIMEOUT);
}