diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-08-23 08:28:06 +0000 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2011-10-11 21:14:59 -0500 |
commit | 61551f1ee536289084a4a8f1c4f187e2f371c440 (patch) | |
tree | b160fd8779bafb6ec8e99f928bcb3e222a91817e /fs/xfs/xfs_inode.c | |
parent | 5a8ee6bafdd0ab8555adceac8b2cec539a552a1f (diff) | |
download | linux-stable-61551f1ee536289084a4a8f1c4f187e2f371c440.tar.gz linux-stable-61551f1ee536289084a4a8f1c4f187e2f371c440.tar.bz2 linux-stable-61551f1ee536289084a4a8f1c4f187e2f371c440.zip |
xfs: call xfs_buf_delwri_queue directly
Unify the ways we add buffers to the delwri queue by always calling
xfs_buf_delwri_queue directly. The xfs_bdwrite functions is removed and
opencoded in its callers, and the two places setting XBF_DELWRI while a
buffer is locked and expecting xfs_buf_unlock to pick it up are converted
to call xfs_buf_delwri_queue directly, too. Also replace the
XFS_BUF_UNDELAYWRITE macro with direct calls to xfs_buf_delwri_dequeue
to make the explicit queuing/dequeuing more obvious.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_inode.c')
-rw-r--r-- | fs/xfs/xfs_inode.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 0239a7c7c886..f8fe1c66d420 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -2598,8 +2598,10 @@ xfs_iflush( if (flags & SYNC_WAIT) error = xfs_bwrite(mp, bp); - else - xfs_bdwrite(mp, bp); + else { + xfs_buf_delwri_queue(bp); + xfs_buf_relse(bp); + } return error; corrupt_out: |