diff options
author | Dave Chinner <dchinner@redhat.com> | 2012-04-23 01:58:55 -0400 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2012-05-14 17:20:51 -0400 |
commit | 7ca790a507a9288ebedab90a8e40b9afa8e4e949 (patch) | |
tree | 70ad7655655e3f5e021b3c80f5c102f4399bbd68 /fs/xfs/xfs_rw.c | |
parent | a8acad70731e7d0585f25f33f8a009176f001f70 (diff) |
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_rw.c')
-rw-r--r-- | fs/xfs/xfs_rw.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/fs/xfs/xfs_rw.c b/fs/xfs/xfs_rw.c index 2ce97758f4c7..3c2488a11165 100644 --- a/fs/xfs/xfs_rw.c +++ b/fs/xfs/xfs_rw.c | |||
@@ -92,56 +92,6 @@ xfs_do_force_shutdown( | |||
92 | } | 92 | } |
93 | 93 | ||
94 | /* | 94 | /* |
95 | * This isn't an absolute requirement, but it is | ||
96 | * just a good idea to call xfs_read_buf instead of | ||
97 | * directly doing a read_buf call. For one, we shouldn't | ||
98 | * be doing this disk read if we are in SHUTDOWN state anyway, | ||
99 | * so this stops that from happening. Secondly, this does all | ||
100 | * the error checking stuff and the brelse if appropriate for | ||
101 | * the caller, so the code can be a little leaner. | ||
102 | */ | ||
103 | |||
104 | int | ||
105 | xfs_read_buf( | ||
106 | struct xfs_mount *mp, | ||
107 | xfs_buftarg_t *target, | ||
108 | xfs_daddr_t blkno, | ||
109 | int len, | ||
110 | uint flags, | ||
111 | xfs_buf_t **bpp) | ||
112 | { | ||
113 | xfs_buf_t *bp; | ||
114 | int error; | ||
115 | |||
116 | if (!flags) | ||
117 | flags = XBF_MAPPED; | ||
118 | |||
119 | bp = xfs_buf_read(target, blkno, len, flags); | ||
120 | if (!bp) | ||
121 | return XFS_ERROR(EIO); | ||
122 | error = bp->b_error; | ||
123 | if (!error && !XFS_FORCED_SHUTDOWN(mp)) { | ||
124 | *bpp = bp; | ||
125 | } else { | ||
126 | *bpp = NULL; | ||
127 | if (error) { | ||
128 | xfs_buf_ioerror_alert(bp, __func__); | ||
129 | } else { | ||
130 | error = XFS_ERROR(EIO); | ||
131 | } | ||
132 | if (bp) { | ||
133 | XFS_BUF_UNDONE(bp); | ||
134 | xfs_buf_stale(bp); | ||
135 | /* | ||
136 | * brelse clears B_ERROR and b_error | ||
137 | */ | ||
138 | xfs_buf_relse(bp); | ||
139 | } | ||
140 | } | ||
141 | return (error); | ||
142 | } | ||
143 | |||
144 | /* | ||
145 | * helper function to extract extent size hint from inode | 95 | * helper function to extract extent size hint from inode |
146 | */ | 96 | */ |
147 | xfs_extlen_t | 97 | xfs_extlen_t |