xfs: remove the XBF_STALE check from xfs_buf_rele_cached
xfs_buf_stale already set b_lru_ref to 0, and thus prevents the buffer from moving to the LRU. Remove the duplicate check. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
parent
0d1120b9bb
commit
9b47d37496
1 changed files with 1 additions and 7 deletions
|
@ -99,12 +99,6 @@ xfs_buf_stale(
|
|||
*/
|
||||
bp->b_flags &= ~_XBF_DELWRI_Q;
|
||||
|
||||
/*
|
||||
* Once the buffer is marked stale and unlocked, a subsequent lookup
|
||||
* could reset b_flags. There is no guarantee that the buffer is
|
||||
* unaccounted (released to LRU) before that occurs. Drop in-flight
|
||||
* status now to preserve accounting consistency.
|
||||
*/
|
||||
spin_lock(&bp->b_lock);
|
||||
atomic_set(&bp->b_lru_ref, 0);
|
||||
if (!(bp->b_state & XFS_BSTATE_DISPOSE) &&
|
||||
|
@ -1033,7 +1027,7 @@ xfs_buf_rele_cached(
|
|||
}
|
||||
|
||||
/* we are asked to drop the last reference */
|
||||
if (!(bp->b_flags & XBF_STALE) && atomic_read(&bp->b_lru_ref)) {
|
||||
if (atomic_read(&bp->b_lru_ref)) {
|
||||
/*
|
||||
* If the buffer is added to the LRU, keep the reference to the
|
||||
* buffer for the LRU and clear the (now stale) dispose list
|
||||
|
|
Loading…
Add table
Reference in a new issue