diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-08-23 04:28:06 -0400 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2011-10-11 22:14:59 -0400 |
commit | 61551f1ee536289084a4a8f1c4f187e2f371c440 (patch) | |
tree | b160fd8779bafb6ec8e99f928bcb3e222a91817e /fs/xfs/xfs_inode.c | |
parent | 5a8ee6bafdd0ab8555adceac8b2cec539a552a1f (diff) |
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( | |||
2598 | 2598 | ||
2599 | if (flags & SYNC_WAIT) | 2599 | if (flags & SYNC_WAIT) |
2600 | error = xfs_bwrite(mp, bp); | 2600 | error = xfs_bwrite(mp, bp); |
2601 | else | 2601 | else { |
2602 | xfs_bdwrite(mp, bp); | 2602 | xfs_buf_delwri_queue(bp); |
2603 | xfs_buf_relse(bp); | ||
2604 | } | ||
2603 | return error; | 2605 | return error; |
2604 | 2606 | ||
2605 | corrupt_out: | 2607 | corrupt_out: |