From: Trolli Schmittlauch <t.schmittlauch+ml@orlives.de>
To: linux-btrfs@vger.kernel.org
Subject: btrfs scrub prevents system suspend
Date: Tue, 4 Feb 2020 13:44:38 +0100 [thread overview]
Message-ID: <6055ac8f-b13d-85ed-7109-3314c5c71c1f@localhost> (raw)
[-- Attachment #1.1.1: Type: text/plain, Size: 753 bytes --]
Hi
I noticed that a running `btrfs scrub` operation prevents a system from suspending to RAM. I wonder whether this is a known issue and being worked on.
A kernel trace leading to btrfs scrub can be found attached.
My current system setup:
NixOS 19.09
kernel 4.19.98
btrfs-progs v5.2.1
I can also try to reproduce this issue with a more recent kernel version. (am currently on a train with bad link)
In the downstream bug report [1] suggests that this could be resolved/ worked around in systemd by adding `Conflicts=suspend.target sleep.target? to the scrubbing service's systemd unit.
So should this be managed at btrfs (kernel) level or in systemd?
All the best
schmittlauch
[1] https://github.com/NixOS/nixpkgs/issues/79086
[-- Attachment #1.1.2: btrfs-scrub-suspend_partial.log --]
[-- Type: text/x-log, Size: 4125 bytes --]
systemd[1]: Starting Suspend...
systemd-sleep[15702]: Suspending system...
kernel: PM: Syncing filesystems ... done.
kernel: Freezing user space processes ...
kernel: Freezing of tasks failed after 20.007 seconds (1 tasks refusing to freeze, wq_busy=0):
kernel: btrfs D 0 12483 1 0x00000004
kernel: Call Trace:
kernel: ? __schedule+0x1f4/0x820
kernel: ? scrub_missing_raid56_end_io+0x40/0x40 [btrfs]
kernel: schedule+0x28/0x80
kernel: scrub_add_page_to_rd_bio+0x211/0x2c0 [btrfs]
kernel: ? wait_woken+0x80/0x80
kernel: scrub_pages+0x239/0x430 [btrfs]
kernel: scrub_stripe+0x72b/0xee0 [btrfs]
kernel: ? kmem_cache_alloc+0x158/0x1c0
kernel: ? btrfs_check_space_for_delayed_refs+0xc7/0x100 [btrfs]
kernel: ? btrfs_block_rsv_check+0x20/0x60 [btrfs]
kernel: ? scrub_chunk+0xd2/0x130 [btrfs]
kernel: scrub_chunk+0xd2/0x130 [btrfs]
kernel: scrub_enumerate_chunks+0x20f/0x570 [btrfs]
kernel: ? wait_woken+0x60/0x80
kernel: btrfs_scrub_dev+0x1e2/0x580 [btrfs]
kernel: ? __kmalloc_track_caller+0x167/0x210
kernel: btrfs_ioctl+0xfea/0x31b0 [btrfs]
kernel: ? __switch_to_asm+0x41/0x70
kernel: ? __switch_to_asm+0x35/0x70
kernel: ? __switch_to_asm+0x41/0x70
kernel: ? __switch_to_asm+0x35/0x70
kernel: ? do_vfs_ioctl+0xa4/0x620
kernel: do_vfs_ioctl+0xa4/0x620
kernel: ? __switch_to_asm+0x41/0x70
kernel: ? __switch_to_asm+0x35/0x70
kernel: ? __switch_to_asm+0x41/0x70
kernel: ? get_task_io_context+0x43/0x80
kernel: ksys_ioctl+0x60/0x90
kernel: ? __switch_to+0x115/0x440
kernel: __x64_sys_ioctl+0x16/0x20
kernel: do_syscall_64+0x4e/0x100
kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9
kernel: RIP: 0033:0x7f7da656cb57
kernel: Code: Bad RIP value.
kernel: RSP: 002b:00007f7da647dd48 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
kernel: RAX: ffffffffffffffda RBX: 0000000000b163e0 RCX: 00007f7da656cb57
kernel: RDX: 0000000000b163e0 RSI: 00000000c400941b RDI: 0000000000000003
kernel: RBP: 0000000000000000 R08: 00007f7da647e700 R09: 0000000000000000
kernel: R10: 00007f7da647e700 R11: 0000000000000246 R12: 00007ffd7f26ddce
kernel: R13: 00007ffd7f26ddcf R14: 00007f7da647e700 R15: 00007f7da67c9000
kernel: OOM killer enabled.
kernel: Restarting tasks ... done.
kernel: PM: suspend exit
kernel: PM: suspend entry (s2idle)
rtkit-daemon[2121]: Demoted 5 threads.
kernel: PM: Syncing filesystems ... done.
kernel: Freezing user space processes ...
kernel: Freezing of tasks failed after 20.001 seconds (1 tasks refusing to freeze, wq_busy=0):
kernel: btrfs D 0 12483 1 0x00000004
kernel: Call Trace:
kernel: ? __schedule+0x1f4/0x820
kernel: ? scrub_missing_raid56_end_io+0x40/0x40 [btrfs]
kernel: schedule+0x28/0x80
kernel: scrub_add_page_to_rd_bio+0x211/0x2c0 [btrfs]
kernel: ? wait_woken+0x80/0x80
kernel: scrub_pages+0x239/0x430 [btrfs]
kernel: ? btrfs_lookup_csums_range+0x93/0x450 [btrfs]
kernel: scrub_stripe+0x72b/0xee0 [btrfs]
kernel: ? start_transaction+0xef/0x3f0 [btrfs]
kernel: ? kmem_cache_alloc+0x158/0x1c0
kernel: ? btrfs_check_space_for_delayed_refs+0xc7/0x100 [btrfs]
kernel: ? btrfs_block_rsv_check+0x20/0x60 [btrfs]
kernel: ? scrub_chunk+0xd2/0x130 [btrfs]
kernel: ? scrub_chunk+0xd2/0x130 [btrfs]
kernel: ? scrub_enumerate_chunks+0x20f/0x570 [btrfs]
kernel: ? wait_woken+0x60/0x80
kernel: ? btrfs_scrub_dev+0x1e2/0x580 [btrfs]
kernel: ? __kmalloc_track_caller+0x167/0x210
kernel: ? btrfs_ioctl+0xfea/0x31b0 [btrfs]
kernel: ? __switch_to_asm+0x41/0x70
kernel: ? __switch_to_asm+0x35/0x70
kernel: ? __switch_to_asm+0x41/0x70
kernel: ? __switch_to_asm+0x35/0x70
kernel: ? do_vfs_ioctl+0xa4/0x620
kernel: ? do_vfs_ioctl+0xa4/0x620
kernel: ? __switch_to_asm+0x41/0x70
kernel: ? __switch_to_asm+0x35/0x70
kernel: ? __switch_to_asm+0x41/0x70
kernel: ? get_task_io_context+0x43/0x80
kernel: ? ksys_ioctl+0x60/0x90
kernel: ? __switch_to+0x115/0x440
kernel: ? __x64_sys_ioctl+0x16/0x20
kernel: ? do_syscall_64+0x4e/0x100
kernel: ? entry_SYSCALL_64_after_hwframe+0x44/0xa9
kernel: OOM killer enabled.
kernel: Restarting tasks ... done.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next reply other threads:[~2020-02-04 12:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-04 12:44 Trolli Schmittlauch [this message]
2020-02-06 16:54 ` btrfs scrub prevents system suspend Trolli Schmittlauch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6055ac8f-b13d-85ed-7109-3314c5c71c1f@localhost \
--to=t.schmittlauch+ml@orlives.de \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox