Mailinglist Archive: opensuse-bugs (4790 mails)

< Previous Next >
[Bug 1047152] New: btrfs: BTRFS_QUOTA_CTL_DISABLE causes hang
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Tue, 04 Jul 2017 08:09:40 +0000
  • Message-id: <bug-1047152-21960@http.bugzilla.opensuse.org/>
http://bugzilla.opensuse.org/show_bug.cgi?id=1047152


Bug ID: 1047152
Summary: btrfs: BTRFS_QUOTA_CTL_DISABLE causes hang
Classification: openSUSE
Product: openSUSE Tumbleweed
Version: Current
Hardware: Other
OS: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Kernel
Assignee: kernel-maintainers@xxxxxxxxxxxxxxxxxxxxxx
Reporter: asarai@xxxxxxxx
QA Contact: qa-bugs@xxxxxxx
Found By: ---
Blocker: ---

When running Docker with the btrfs storage driver I noticed that my entire
machine would grind to a halt when killing the process. After some debugging I
found that Docker is calling a btrfs ioctl [ioctl(BTRFS_IOC_QUOTA_CTL,
BTRFS_QUOTA_CTL_DISABLE)] which is never returning to the userspace program due
to some sort of kernel hangup. I've attached a sample program which will cause
this hangup without the use of Docker.

Of course, this sort of hangup cannot be happening on every system (otherwise
someone other than me would've noticed). I've previously helped Rafael debug
similar problems and we concluded that the issue was related to filesystem
corruption -- specifically the fs_info->qgroup_rescan_running flag is set even
though there is no rescan running [causing
wait_for_completion(&fs_info->qgroup_rescan_completion) to fail].

If you run the attached program and check the contents of /proc/$pid/stack you
see that it is blocked in btrfs_qgroup_wait_for_completion, which would make
sense normally because this happens even on a fresh reboot of my machine (where
there are no qgroup rescans running).

% cat /proc/$pid/stack
[<ffffffffc0cfd42b>] btrfs_qgroup_wait_for_completion+0x7b/0xd0 [btrfs]
[<ffffffffc0cfd4f3>] btrfs_quota_disable+0x73/0x3b0 [btrfs]
[<ffffffffc0ca2484>] btrfs_ioctl+0xc34/0x2a70 [btrfs]
[<ffffffffb14a7ed5>] do_vfs_ioctl+0xb5/0x9b0
[<ffffffffb14a8849>] SyS_ioctl+0x79/0x90
[<ffffffffb1e9d0c5>] entry_SYSCALL_64_fastpath+0x23/0xc2
[<ffffffffffffffff>] 0xffffffffffffffff

--
You are receiving this mail because:
You are on the CC list for the bug.
< Previous Next >