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:
672f752
)
bcachefs: Fix bkey_nocow_lock()
author
Kent Overstreet
<kent.overstreet@linux.dev>
Sat, 12 Oct 2024 09:00:26 +0000
(
05:00
-0400)
committer
Kent Overstreet
<kent.overstreet@linux.dev>
Sat, 12 Oct 2024 09:01:52 +0000
(
05:01
-0400)
This fixes an assertion pop in nocow_locking.c
00243 kernel BUG at fs/bcachefs/nocow_locking.c:41!
00243 Internal error: Oops - BUG:
00000000f2000800
[#1] SMP
00243 Modules linked in:
00243 Hardware name: linux,dummy-virt (DT)
00243 pstate:
60001005
(nZCv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--)
00244 pc : bch2_bucket_nocow_unlock (/home/testdashboard/linux-7/fs/bcachefs/nocow_locking.c:41)
00244 lr : bkey_nocow_lock (/home/testdashboard/linux-7/fs/bcachefs/data_update.c:79)
00244 sp :
ffffff80c82373b0
00244 x29:
ffffff80c82373b0
x28:
ffffff80e08958c0
x27:
ffffff80e0880000
00244 x26:
ffffff80c8237a98
x25:
00000000000000a0
x24:
ffffff80c8237ab0
00244 x23:
00000000000000c0
x22:
0000000000000008
x21:
0000000000000000
00244 x20:
ffffff80c8237a98
x19:
0000000000000018
x18:
0000000000000000
00244 x17:
0000000000000000
x16:
000000000000003f
x15:
0000000000000000
00244 x14:
0000000000000008
x13:
0000000000000018
x12:
0000000000000000
00244 x11:
0000000000000000
x10:
ffffff80e0880000
x9 :
ffffffc0803ac1a4
00244 x8 :
0000000000000018
x7 :
ffffff80c8237a88
x6 :
ffffff80c8237ab0
00244 x5 :
ffffff80e08988d0
x4 :
00000000ffffffff
x3 :
0000000000000000
00244 x2 :
0000000000000004
x1 :
0003000000000d1e
x0 :
ffffff80e08988c0
00244 Call trace:
00244 bch2_bucket_nocow_unlock (/home/testdashboard/linux-7/fs/bcachefs/nocow_locking.c:41)
00245 bch2_data_update_init (/home/testdashboard/linux-7/fs/bcachefs/data_update.c:627 (discriminator 1))
00245 promote_alloc.isra.0 (/home/testdashboard/linux-7/fs/bcachefs/io_read.c:242 /home/testdashboard/linux-7/fs/bcachefs/io_read.c:304)
00245 __bch2_read_extent (/home/testdashboard/linux-7/fs/bcachefs/io_read.c:949)
00246 __bch2_read (/home/testdashboard/linux-7/fs/bcachefs/io_read.c:1215)
00246 bch2_direct_IO_read (/home/testdashboard/linux-7/fs/bcachefs/fs-io-direct.c:132)
00246 bch2_read_iter (/home/testdashboard/linux-7/fs/bcachefs/fs-io-direct.c:201)
00247 aio_read.constprop.0 (/home/testdashboard/linux-7/fs/aio.c:1602)
00247 io_submit_one.constprop.0 (/home/testdashboard/linux-7/fs/aio.c:2003 /home/testdashboard/linux-7/fs/aio.c:2052)
00248 __arm64_sys_io_submit (/home/testdashboard/linux-7/fs/aio.c:2111 /home/testdashboard/linux-7/fs/aio.c:2081 /home/testdashboard/linux-7/fs/aio.c:2081)
00248 invoke_syscall.constprop.0 (/home/testdashboard/linux-7/arch/arm64/include/asm/syscall.h:61 /home/testdashboard/linux-7/arch/arm64/kernel/syscall.c:54)
00248 ========= FAILED TIMEOUT tiering_variable_buckets_replicas in 1200s
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/data_update.c
patch
|
blob
|
history
diff --git
a/fs/bcachefs/data_update.c
b/fs/bcachefs/data_update.c
index
462b1a2
..
a6ee0be
100644
(file)
--- a/
fs/bcachefs/data_update.c
+++ b/
fs/bcachefs/data_update.c
@@
-80,6
+80,7
@@
static bool bkey_nocow_lock(struct bch_fs *c, struct moving_context *ctxt, struc
if (ptr2 == ptr)
break;
+ ca = bch2_dev_have_ref(c, ptr2->dev);
bucket = PTR_BUCKET_POS(ca, ptr2);
bch2_bucket_nocow_unlock(&c->nocow_locks, bucket, 0);
}