Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
3
-
12256
Description
When I ran quotacheck directly on ldiskfs, the process stuck. Following is the dump stack. The ext4_quota_off() function added by ext4-quota-force-block-alloc-quotaoff.patch tried to grab read lock of sb->s_umount. But it stuck there because it was holding write lock of sb->s_umount.
COMMAND: "quotacheck"
TASK: ffff88010286aae0 [THREAD_INFO: ffff880102610000]
CPU: 0
STATE: TASK_UNINTERRUPTIBLE
crash> bt
PID: 21560 TASK: ffff88010286aae0 CPU: 0 COMMAND: "quotacheck"
#0 [ffff880102611b60] schedule at ffffffff8150c432
#1 [ffff880102611c28] rwsem_down_failed_common at ffffffff8150e9e5
#2 [ffff880102611c88] rwsem_down_read_failed at ffffffff8150eb76
#3 [ffff880102611cc8] call_rwsem_down_read_failed at ffffffff81281b94
#4 [ffff880102611d30] ldiskfs_quota_off at ffffffffa02fe115 [ldiskfs]
#5 [ffff880102611d90] ldiskfs_remount at ffffffffa02fd41d [ldiskfs]
#6 [ffff880102611e60] do_remount_sb at ffffffff811825bc
#7 [ffff880102611ea0] do_mount at ffffffff811a3915
#8 [ffff880102611f20] sys_mount at ffffffff811a3c10
#9 [ffff880102611f80] system_call_fastpath at ffffffff8100b072
RIP: 00007f97e757ee0a RSP: 00007fffe66e9388 RFLAGS: 00010297
RAX: 00000000000000a5 RBX: ffffffff8100b072 RCX: 0000000000000001
RDX: 00007f97e9f02940 RSI: 00007f97e9f01740 RDI: 0000000000000000
RBP: 00007f97e822b4a0 R8: 0000000000000000 R9: 0000000000000000
R10: 00000000c0ed0021 R11: 0000000000000206 R12: 00007f97e7ea7047
R13: 00007f97e7ea5c00 R14: 0000000000000001 R15: 00007f97e822b4a0
ORIG_RAX: 00000000000000a5 CS: 0033 SS: 002b
crash>
Following is how to reproduce it. Please note that the version of quota-tools is 4.0.1. Somehow quota-tools of version 3.17 refuses to quotacheck a ldiskfs mount point.
[root@vm1 quota-tools]# mount -t ldiskfs /dev/sdb3 -o usrquota /mnt/
[root@vm1 quota-tools]# ./quotacheck /mnt/ -f
.