summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_inode.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-08-23 08:28:06 +0000
committerAlex Elder <aelder@sgi.com>2011-10-11 21:14:59 -0500
commit61551f1ee536289084a4a8f1c4f187e2f371c440 (patch)
treeb160fd8779bafb6ec8e99f928bcb3e222a91817e /fs/xfs/xfs_inode.c
parent5a8ee6bafdd0ab8555adceac8b2cec539a552a1f (diff)
downloadlinux-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.c6
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: