diff options
author | Christoph Hellwig <hch@infradead.org> | 2010-01-13 17:17:58 -0500 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2010-01-15 16:35:07 -0500 |
commit | 64e0bc7d2a6609ad265757a600e2a0d93c8adb47 (patch) | |
tree | 15733d61868f4dbd59da833cd84614ff78ef1049 /fs/xfs/linux-2.6/xfs_buf.c | |
parent | 873ff5501d8cd1a21045d6c1da34f0c3876bc235 (diff) |
xfs: clean up xfs_bwrite
Fold XFS_bwrite into it's only caller, xfs_bwrite and move it into
xfs_buf.c instead of leaving it as a fairly large inline function.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_buf.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c index 18ae3ba8f78a..492465c6e0b4 100644 --- a/fs/xfs/linux-2.6/xfs_buf.c +++ b/fs/xfs/linux-2.6/xfs_buf.c | |||
@@ -1051,6 +1051,33 @@ xfs_buf_ioerror( | |||
1051 | } | 1051 | } |
1052 | 1052 | ||
1053 | int | 1053 | int |
1054 | xfs_bwrite( | ||
1055 | struct xfs_mount *mp, | ||
1056 | struct xfs_buf *bp) | ||
1057 | { | ||
1058 | int iowait = (bp->b_flags & XBF_ASYNC) == 0; | ||
1059 | int error = 0; | ||
1060 | |||
1061 | bp->b_strat = xfs_bdstrat_cb; | ||
1062 | bp->b_mount = mp; | ||
1063 | bp->b_flags |= XBF_WRITE; | ||
1064 | if (!iowait) | ||
1065 | bp->b_flags |= _XBF_RUN_QUEUES; | ||
1066 | |||
1067 | xfs_buf_delwri_dequeue(bp); | ||
1068 | xfs_buf_iostrategy(bp); | ||
1069 | |||
1070 | if (iowait) { | ||
1071 | error = xfs_buf_iowait(bp); | ||
1072 | if (error) | ||
1073 | xfs_force_shutdown(mp, SHUTDOWN_META_IO_ERROR); | ||
1074 | xfs_buf_relse(bp); | ||
1075 | } | ||
1076 | |||
1077 | return error; | ||
1078 | } | ||
1079 | |||
1080 | int | ||
1054 | xfs_bawrite( | 1081 | xfs_bawrite( |
1055 | void *mp, | 1082 | void *mp, |
1056 | struct xfs_buf *bp) | 1083 | struct xfs_buf *bp) |