xfs: test for umount hang caused by the pending dquota log item in AIL
authorHou Tao <houtao1@huawei.com>
Thu, 11 Jan 2018 06:49:32 +0000 (14:49 +0800)
committerEryu Guan <eguan@redhat.com>
Fri, 12 Jan 2018 03:40:39 +0000 (11:40 +0800)
commit8f20e80747d918a4ea43f8d2e74c6a1e8a6cb890
tree6f9eb119891906cf942c1b9bee8022e1f5e387f3
parent20cb5f11991ca0d4032a0256bcb4316e1d93880a
xfs: test for umount hang caused by the pending dquota log item in AIL

When the first writeback and the retried writeback of dquota buffer
get the same IO error, XFS will let xfsaild to restart the writeback
and xfs_qm_dqflush_done() will not be invoked. xfsaild will try to
re-push the quota log item in AIL, the push will return early
everytime after checking xfs_dqflock_nowait(), and xfsaild will try
to push it again.

IOWs, AIL will never be empty, and the umount process will wait for
the drain of AIL, so the umount process hangs.

Signed-off-by: Hou Tao <houtao1@huawei.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/xfs/438 [new file with mode: 0755]
tests/xfs/438.out [new file with mode: 0644]
tests/xfs/group