xfs: enable background pushing of the CIL
authorDave Chinner <dchinner@redhat.com>
Mon, 17 May 2010 05:52:13 +0000 (15:52 +1000)
committerAlex Elder <aelder@sgi.com>
Mon, 24 May 2010 15:38:20 +0000 (10:38 -0500)
commitdf806158b0f6eb24247773b4a19b8b59d7217e59
treea6fb142258aabf03011aadd14c9cf6ade9033d58
parent9da1ab181ac1790f86528b86ba5876f037e8dcdc
xfs: enable background pushing of the CIL

If we let the CIL grow without bound, it will grow large enough to violate
recovery constraints (must be at least one complete transaction in the log at
all times) or take forever to write out through the log buffers. Hence we need
a check during asynchronous transactions as to whether the CIL needs to be
pushed.

We track the amount of log space the CIL consumes, so it is relatively simple
to limit it on a pure size basis. Make the limit the minimum of just under half
the log size (recovery constraint) or 8MB of log space (which is an awful lot
of metadata).

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
fs/xfs/xfs_log_cil.c
fs/xfs/xfs_log_priv.h