]> www.infradead.org Git - users/jedix/linux-maple.git/commit
xfs: exclude never-released buffers from buftarg I/O accounting
authorBrian Foster <bfoster@redhat.com>
Wed, 20 Jul 2016 01:13:43 +0000 (11:13 +1000)
committerSomasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
Thu, 18 May 2017 18:57:26 +0000 (11:57 -0700)
commit2f3f39d3197cd6165a58228a1be12752956ff992
tree1f4ec0eb27c46dde9cf165633f53b0eb0f26120a
parent95b600ff8a0b6413bd682be045dfb49a59171d26
xfs: exclude never-released buffers from buftarg I/O accounting

Orabug: 25550712

The upcoming buftarg I/O accounting mechanism maintains a count of
all buffers that have undergone I/O in the current hold-release
cycle.  Certain buffers associated with core infrastructure (e.g.,
the xfs_mount superblock buffer, log buffers) are never released,
however. This means that accounting I/O submission on such buffers
elevates the buftarg count indefinitely and could lead to lockup on
unmount.

Define a new buffer flag to explicitly exclude buffers from buftarg
I/O accounting. Set the flag on the superblock and associated log
buffers.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
(cherry picked from commit c891c30a4dd1a236bb98630b35fc2769c5ce0d40)
Signed-off-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
Reviewed-by: Dhaval Giani <dhaval.giani@oracle.com>
fs/xfs/xfs_buf.c
fs/xfs/xfs_buf.h
fs/xfs/xfs_log.c
fs/xfs/xfs_mount.c