]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
libxfs: don't repeatedly shake unwritable buffers
authorDave Chinner <dchinner@redhat.com>
Tue, 9 Feb 2016 00:13:40 +0000 (11:13 +1100)
committerDave Chinner <david@fromorbit.com>
Tue, 9 Feb 2016 00:13:40 +0000 (11:13 +1100)
commite8f1e8aa76c37d5195c0aab2af5f073bb5ee2ff9
tree999d7c4725db4eac854039ffe6076a7d9036aa48
parent0a7942b3821527fd5d643615a6ece510de9a3117
libxfs: don't repeatedly shake unwritable buffers

now that we try to write dirty buffers before we release them, we
can get buildup of unwritable dirty buffers on the LRU lists, This
results in the cache shaker repeatedly trying to write out these
buffers every time the cache fills up. This results in more
corruption warnings, and takes up a lot of time doing reclaiming
nothing. This can effectively livelock the processing parts of phase
4.

Fix this by not trying to write buffers with corruption errors on
them. These errors will get cleared when the buffer is re-read and
fixed and them marked dirty again. At which point, we'll be able to
write them and so the cache can reclaim them successfully.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
libxfs/rdwr.c