xfs
[Top] [All Lists]

Hang seen in xfstests 234

To: Alex Elder <aelder@xxxxxxx>
Subject: Hang seen in xfstests 234
From: Chandra Seetharaman <sekharan@xxxxxxxxxx>
Date: Thu, 03 Nov 2011 16:43:46 -0500
Cc: XFS Mailing List <xfs@xxxxxxxxxxx>
Organization: IBM
Reply-to: sekharan@xxxxxxxxxx
Hi Alex,

I ran the xfstests 234 with procs set to 20 and I can consistently make
it hang.

Looks like, the log buffer is full and all the processes are sleeping at
xlog_wait() or blocked on a mutex which was held by a process that is
sleeping on xlog_wait().

wake up happens when sync is invoked and all processes run free to
completion.

In order to verify the hypothesis, I added the following code
-------------------------
diff --git a/fs/xfs/xfs_qm_syscalls.c b/fs/xfs/xfs_qm_syscalls.c
index 5cc3dde..b2c0d49 100644
--- a/fs/xfs/xfs_qm_syscalls.c
+++ b/fs/xfs/xfs_qm_syscalls.c
@@ -621,6 +621,7 @@ xfs_qm_scall_setqlim(
        dqp->dq_flags |= XFS_DQ_DIRTY;
        xfs_trans_log_dquot(tp, dqp);
 
+       xfs_trans_set_sync(tp);
        error = xfs_trans_commit(tp, 0);
        xfs_qm_dqrele(dqp);
 
--------------------------

and it seems to work well.

Not sure if this can be a fix or the nudge has to happen somewhere else.

Please comment.

Regards,

Chandra

<Prev in Thread] Current Thread [Next in Thread>
  • Hang seen in xfstests 234, Chandra Seetharaman <=