diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_buf.h')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.h | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.h b/fs/xfs/linux-2.6/xfs_buf.h index 456519a088c7..288ae7c4c800 100644 --- a/fs/xfs/linux-2.6/xfs_buf.h +++ b/fs/xfs/linux-2.6/xfs_buf.h | |||
@@ -168,7 +168,7 @@ typedef struct xfs_buf { | |||
168 | struct completion b_iowait; /* queue for I/O waiters */ | 168 | struct completion b_iowait; /* queue for I/O waiters */ |
169 | void *b_fspriv; | 169 | void *b_fspriv; |
170 | void *b_fspriv2; | 170 | void *b_fspriv2; |
171 | void *b_fspriv3; | 171 | struct xfs_mount *b_mount; |
172 | unsigned short b_error; /* error code on I/O */ | 172 | unsigned short b_error; /* error code on I/O */ |
173 | unsigned int b_page_count; /* size of page array */ | 173 | unsigned int b_page_count; /* size of page array */ |
174 | unsigned int b_offset; /* page offset in first page */ | 174 | unsigned int b_offset; /* page offset in first page */ |
@@ -214,9 +214,10 @@ extern void xfs_buf_lock(xfs_buf_t *); | |||
214 | extern void xfs_buf_unlock(xfs_buf_t *); | 214 | extern void xfs_buf_unlock(xfs_buf_t *); |
215 | 215 | ||
216 | /* Buffer Read and Write Routines */ | 216 | /* Buffer Read and Write Routines */ |
217 | extern int xfs_bawrite(void *mp, xfs_buf_t *bp); | ||
218 | extern void xfs_bdwrite(void *mp, xfs_buf_t *bp); | ||
217 | extern void xfs_buf_ioend(xfs_buf_t *, int); | 219 | extern void xfs_buf_ioend(xfs_buf_t *, int); |
218 | extern void xfs_buf_ioerror(xfs_buf_t *, int); | 220 | extern void xfs_buf_ioerror(xfs_buf_t *, int); |
219 | extern int xfs_buf_iostart(xfs_buf_t *, xfs_buf_flags_t); | ||
220 | extern int xfs_buf_iorequest(xfs_buf_t *); | 221 | extern int xfs_buf_iorequest(xfs_buf_t *); |
221 | extern int xfs_buf_iowait(xfs_buf_t *); | 222 | extern int xfs_buf_iowait(xfs_buf_t *); |
222 | extern void xfs_buf_iomove(xfs_buf_t *, size_t, size_t, xfs_caddr_t, | 223 | extern void xfs_buf_iomove(xfs_buf_t *, size_t, size_t, xfs_caddr_t, |
@@ -311,10 +312,6 @@ extern void xfs_buf_trace(xfs_buf_t *, char *, void *, void *); | |||
311 | #define XFS_BUF_UNORDERED(bp) ((bp)->b_flags &= ~XBF_ORDERED) | 312 | #define XFS_BUF_UNORDERED(bp) ((bp)->b_flags &= ~XBF_ORDERED) |
312 | #define XFS_BUF_ISORDERED(bp) ((bp)->b_flags & XBF_ORDERED) | 313 | #define XFS_BUF_ISORDERED(bp) ((bp)->b_flags & XBF_ORDERED) |
313 | 314 | ||
314 | #define XFS_BUF_SHUT(bp) do { } while (0) | ||
315 | #define XFS_BUF_UNSHUT(bp) do { } while (0) | ||
316 | #define XFS_BUF_ISSHUT(bp) (0) | ||
317 | |||
318 | #define XFS_BUF_HOLD(bp) xfs_buf_hold(bp) | 315 | #define XFS_BUF_HOLD(bp) xfs_buf_hold(bp) |
319 | #define XFS_BUF_READ(bp) ((bp)->b_flags |= XBF_READ) | 316 | #define XFS_BUF_READ(bp) ((bp)->b_flags |= XBF_READ) |
320 | #define XFS_BUF_UNREAD(bp) ((bp)->b_flags &= ~XBF_READ) | 317 | #define XFS_BUF_UNREAD(bp) ((bp)->b_flags &= ~XBF_READ) |
@@ -334,8 +331,6 @@ extern void xfs_buf_trace(xfs_buf_t *, char *, void *, void *); | |||
334 | #define XFS_BUF_SET_FSPRIVATE(bp, val) ((bp)->b_fspriv = (void*)(val)) | 331 | #define XFS_BUF_SET_FSPRIVATE(bp, val) ((bp)->b_fspriv = (void*)(val)) |
335 | #define XFS_BUF_FSPRIVATE2(bp, type) ((type)(bp)->b_fspriv2) | 332 | #define XFS_BUF_FSPRIVATE2(bp, type) ((type)(bp)->b_fspriv2) |
336 | #define XFS_BUF_SET_FSPRIVATE2(bp, val) ((bp)->b_fspriv2 = (void*)(val)) | 333 | #define XFS_BUF_SET_FSPRIVATE2(bp, val) ((bp)->b_fspriv2 = (void*)(val)) |
337 | #define XFS_BUF_FSPRIVATE3(bp, type) ((type)(bp)->b_fspriv3) | ||
338 | #define XFS_BUF_SET_FSPRIVATE3(bp, val) ((bp)->b_fspriv3 = (void*)(val)) | ||
339 | #define XFS_BUF_SET_START(bp) do { } while (0) | 334 | #define XFS_BUF_SET_START(bp) do { } while (0) |
340 | #define XFS_BUF_SET_BRELSE_FUNC(bp, func) ((bp)->b_relse = (func)) | 335 | #define XFS_BUF_SET_BRELSE_FUNC(bp, func) ((bp)->b_relse = (func)) |
341 | 336 | ||
@@ -366,14 +361,6 @@ extern void xfs_buf_trace(xfs_buf_t *, char *, void *, void *); | |||
366 | #define XFS_BUF_TARGET(bp) ((bp)->b_target) | 361 | #define XFS_BUF_TARGET(bp) ((bp)->b_target) |
367 | #define XFS_BUFTARG_NAME(target) xfs_buf_target_name(target) | 362 | #define XFS_BUFTARG_NAME(target) xfs_buf_target_name(target) |
368 | 363 | ||
369 | static inline int xfs_bawrite(void *mp, xfs_buf_t *bp) | ||
370 | { | ||
371 | bp->b_fspriv3 = mp; | ||
372 | bp->b_strat = xfs_bdstrat_cb; | ||
373 | xfs_buf_delwri_dequeue(bp); | ||
374 | return xfs_buf_iostart(bp, XBF_WRITE | XBF_ASYNC | _XBF_RUN_QUEUES); | ||
375 | } | ||
376 | |||
377 | static inline void xfs_buf_relse(xfs_buf_t *bp) | 364 | static inline void xfs_buf_relse(xfs_buf_t *bp) |
378 | { | 365 | { |
379 | if (!bp->b_relse) | 366 | if (!bp->b_relse) |
@@ -414,17 +401,6 @@ static inline int XFS_bwrite(xfs_buf_t *bp) | |||
414 | return error; | 401 | return error; |
415 | } | 402 | } |
416 | 403 | ||
417 | /* | ||
418 | * No error can be returned from xfs_buf_iostart for delwri | ||
419 | * buffers as they are queued and no I/O is issued. | ||
420 | */ | ||
421 | static inline void xfs_bdwrite(void *mp, xfs_buf_t *bp) | ||
422 | { | ||
423 | bp->b_strat = xfs_bdstrat_cb; | ||
424 | bp->b_fspriv3 = mp; | ||
425 | (void)xfs_buf_iostart(bp, XBF_DELWRI | XBF_ASYNC); | ||
426 | } | ||
427 | |||
428 | #define XFS_bdstrat(bp) xfs_buf_iorequest(bp) | 404 | #define XFS_bdstrat(bp) xfs_buf_iorequest(bp) |
429 | 405 | ||
430 | #define xfs_iowait(bp) xfs_buf_iowait(bp) | 406 | #define xfs_iowait(bp) xfs_buf_iowait(bp) |