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>
This commit is contained in:
Hou Tao
2018-01-11 14:49:32 +08:00
committed by Eryu Guan
parent 20cb5f1199
commit 8f20e80747
3 changed files with 177 additions and 0 deletions
+1
View File
@@ -435,3 +435,4 @@
435 auto quick clone
436 auto quick clone fsr
437 auto quick other
438 auto quick quota dangerous