summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_trans_buf.c
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2012-04-23 07:58:55 +0200
committerBen Myers <bpm@sgi.com>2012-05-14 23:20:51 +0200
commit7ca790a507a9288ebedab90a8e40b9afa8e4e949 (patch)
tree70ad7655655e3f5e021b3c80f5c102f4399bbd68 /fs/xfs/xfs_trans_buf.c
parentxfs: kill XBF_LOCK (diff)
downloadlinux-7ca790a507a9288ebedab90a8e40b9afa8e4e949.tar.xz
linux-7ca790a507a9288ebedab90a8e40b9afa8e4e949.zip
xfs: kill xfs_read_buf()
xfs_read_buf() is effectively the same as xfs_trans_read_buf() when called outside a transaction context. The error handling is slightly different in that xfs_read_buf stales the errored buffer it gets back, but there is probably good reason for xfs_trans_read_buf() for doing this. Hence update xfs_trans_read_buf() to the same error handling as xfs_read_buf(), and convert all the callers of xfs_read_buf() to use the former function. We can then remove xfs_read_buf(). Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_trans_buf.c')
-rw-r--r--fs/xfs/xfs_trans_buf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c
index f9cb7ee04dae..5e4cf617e56c 100644
--- a/fs/xfs/xfs_trans_buf.c
+++ b/fs/xfs/xfs_trans_buf.c
@@ -274,6 +274,8 @@ xfs_trans_read_buf(
xfs_buf_log_item_t *bip;
int error;
+ *bpp = NULL;
+
if (flags == 0)
flags = XBF_MAPPED;
@@ -289,6 +291,8 @@ xfs_trans_read_buf(
if (bp->b_error) {
error = bp->b_error;
xfs_buf_ioerror_alert(bp, __func__);
+ XFS_BUF_UNDONE(bp);
+ xfs_buf_stale(bp);
xfs_buf_relse(bp);
return error;
}