Bug ID | 1199322 |
---|---|
Summary | btrfs lock ups |
Classification | openSUSE |
Product | openSUSE Distribution |
Version | Leap 15.3 |
Hardware | x86-64 |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Kernel |
Assignee | kernel-bugs@opensuse.org |
Reporter | jnelson-suse@jamponi.net |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
I've been having some trouble with btrfs. The symptom is that I have higher than normal wait state but with no tasks using CPU. Using `echo w > /proc/sysrq-trigger` there is a common theme: May 08 09:40:44 turnip kernel: task:btrfs-transacti state:D stack: 0 pid: 841 ppid: 2 flags:0x80004000 May 08 09:40:44 turnip kernel: Call Trace: May 08 09:40:44 turnip kernel: __schedule+0x2ff/0x760 May 08 09:40:44 turnip kernel: ? bit_wait+0x50/0x50 May 08 09:40:44 turnip kernel: schedule+0x2f/0xa0 May 08 09:40:44 turnip kernel: io_schedule+0x12/0x40 May 08 09:40:44 turnip kernel: bit_wait_io+0xd/0x50 May 08 09:40:44 turnip kernel: __wait_on_bit+0x2c/0x90 May 08 09:40:44 turnip kernel: out_of_line_wait_on_bit+0x91/0xb0 May 08 09:40:44 turnip kernel: ? init_wait_var_entry+0x50/0x50 May 08 09:40:44 turnip kernel: write_all_supers+0x278/0xa00 [btrfs] May 08 09:40:44 turnip kernel: ? btrfs_commit_transaction+0x790/0xa60 [btrfs] May 08 09:40:44 turnip kernel: btrfs_commit_transaction+0x790/0xa60 [btrfs] May 08 09:40:44 turnip kernel: ? start_transaction+0xc5/0x540 [btrfs] May 08 09:40:44 turnip kernel: transaction_kthread+0x148/0x160 [btrfs] May 08 09:40:44 turnip kernel: ? btrfs_cleanup_transaction+0x5c0/0x5c0 [btrfs] May 08 09:40:44 turnip kernel: kthread+0x10d/0x130 May 08 09:40:44 turnip kernel: ? kthread_park+0xa0/0xa0 May 08 09:40:44 turnip kernel: ret_from_fork+0x35/0x40 I tried to use `btrfs check` (offline) and it complains of free space mis-matches, so I zero the v2 free space and then when I try to zero the v1 free space: turnip:~ # btrfs check -p --clear-space-cache v1 /dev/disk/by-uuid/ea5898b2-3e9f-4a4b-ae54-5e3e1d13c3ff Opening filesystem to check... Checking filesystem on /dev/disk/by-uuid/ea5898b2-3e9f-4a4b-ae54-5e3e1d13c3ff UUID: ea5898b2-3e9f-4a4b-ae54-5e3e1d13c3ff Failed to find [401685020672, 168, 16384] btrfs unable to find ref byte nr 401685037056 parent 0 root 2 owner 0 offset 0 transaction.c:195: btrfs_commit_transaction: BUG_ON `ret` triggered, value -5 btrfs(+0x51f99)[0x560c29c5df99] btrfs(btrfs_commit_transaction+0x1ae)[0x560c29c5e58e] btrfs(btrfs_clear_free_space_cache+0xdc)[0x560c29c510bc] btrfs(+0x157fa)[0x560c29c217fa] btrfs(cmd_check+0x103a)[0x560c29c73cca] btrfs(main+0x8e)[0x560c29c2b08e] /lib64/libc.so.6(__libc_start_main+0xef)[0x7feccb3382bd] btrfs(_start+0x2a)[0x560c29c2b28a] Aborted (core dumped) turnip:~ # Currently running a basic 'check'. Kernel is latest. I regularly run scrub/etc. via btrfsmaintenance