]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit0a7c6dc57fb3093b339c0e9e8ea5e5ed743aef49
treea6fb142258aabf03011aadd14c9cf6ade9033d58
parentee16e8ac6d2478308f0d4b5f59f5f42827bb7370
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