Re: [PATCH] XFS: don't block in xfs_qm_dqflush() during async writeback

Peter Leckie
2008-10-10T00:14:48Z

Dave Chinner wrote:
> Normally dquots are written back via delayed write mechanisms. They
> are flushed to their backing buffer by xfssyncd, which is then
> pushed out by either AIL or xfsbufd flushing. The flush from the
> xfssyncd is supposed to be non-blocking, but xfs_qm_dqflush() always
> waits for pinned duots, which means that it will block for the
> length of time it takes to do a synchronous log force. This causes
> unnecessary extra log I/O to be issued whenever we try to flush a
> busy dquot.
>
> Avoid the log forces and blocking xfssyncd by making xfs_qm_dqflush()
> pay attention to what type of sync it is doing when it sees a pinned
> dquot and not waiting when doing non-blocking flushes.
>
This patch looks good.

Thanks,
Pete