diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_buf.h')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.h | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.h b/fs/xfs/linux-2.6/xfs_buf.h index 9b4d666ad31f..a34c7b54822d 100644 --- a/fs/xfs/linux-2.6/xfs_buf.h +++ b/fs/xfs/linux-2.6/xfs_buf.h | |||
@@ -55,6 +55,7 @@ typedef enum { | |||
55 | XBF_FS_MANAGED = (1 << 8), /* filesystem controls freeing memory */ | 55 | XBF_FS_MANAGED = (1 << 8), /* filesystem controls freeing memory */ |
56 | XBF_ORDERED = (1 << 11), /* use ordered writes */ | 56 | XBF_ORDERED = (1 << 11), /* use ordered writes */ |
57 | XBF_READ_AHEAD = (1 << 12), /* asynchronous read-ahead */ | 57 | XBF_READ_AHEAD = (1 << 12), /* asynchronous read-ahead */ |
58 | XBF_LOG_BUFFER = (1 << 13), /* this is a buffer used for the log */ | ||
58 | 59 | ||
59 | /* flags used only as arguments to access routines */ | 60 | /* flags used only as arguments to access routines */ |
60 | XBF_LOCK = (1 << 14), /* lock requested */ | 61 | XBF_LOCK = (1 << 14), /* lock requested */ |
@@ -95,6 +96,28 @@ typedef enum { | |||
95 | _XFS_BARRIER_FAILED = (1 << 23), | 96 | _XFS_BARRIER_FAILED = (1 << 23), |
96 | } xfs_buf_flags_t; | 97 | } xfs_buf_flags_t; |
97 | 98 | ||
99 | #define XFS_BUF_FLAGS \ | ||
100 | { XBF_READ, "READ" }, \ | ||
101 | { XBF_WRITE, "WRITE" }, \ | ||
102 | { XBF_MAPPED, "MAPPED" }, \ | ||
103 | { XBF_ASYNC, "ASYNC" }, \ | ||
104 | { XBF_DONE, "DONE" }, \ | ||
105 | { XBF_DELWRI, "DELWRI" }, \ | ||
106 | { XBF_STALE, "STALE" }, \ | ||
107 | { XBF_FS_MANAGED, "FS_MANAGED" }, \ | ||
108 | { XBF_ORDERED, "ORDERED" }, \ | ||
109 | { XBF_READ_AHEAD, "READ_AHEAD" }, \ | ||
110 | { XBF_LOCK, "LOCK" }, /* should never be set */\ | ||
111 | { XBF_TRYLOCK, "TRYLOCK" }, /* ditto */\ | ||
112 | { XBF_DONT_BLOCK, "DONT_BLOCK" }, /* ditto */\ | ||
113 | { _XBF_PAGE_CACHE, "PAGE_CACHE" }, \ | ||
114 | { _XBF_PAGES, "PAGES" }, \ | ||
115 | { _XBF_RUN_QUEUES, "RUN_QUEUES" }, \ | ||
116 | { _XBF_DELWRI_Q, "DELWRI_Q" }, \ | ||
117 | { _XBF_PAGE_LOCKED, "PAGE_LOCKED" }, \ | ||
118 | { _XFS_BARRIER_FAILED, "BARRIER_FAILED" } | ||
119 | |||
120 | |||
98 | typedef enum { | 121 | typedef enum { |
99 | XBT_FORCE_SLEEP = 0, | 122 | XBT_FORCE_SLEEP = 0, |
100 | XBT_FORCE_FLUSH = 1, | 123 | XBT_FORCE_FLUSH = 1, |
@@ -186,15 +209,10 @@ extern xfs_buf_t *_xfs_buf_find(xfs_buftarg_t *, xfs_off_t, size_t, | |||
186 | #define xfs_incore(buftarg,blkno,len,lockit) \ | 209 | #define xfs_incore(buftarg,blkno,len,lockit) \ |
187 | _xfs_buf_find(buftarg, blkno ,len, lockit, NULL) | 210 | _xfs_buf_find(buftarg, blkno ,len, lockit, NULL) |
188 | 211 | ||
189 | extern xfs_buf_t *xfs_buf_get_flags(xfs_buftarg_t *, xfs_off_t, size_t, | 212 | extern xfs_buf_t *xfs_buf_get(xfs_buftarg_t *, xfs_off_t, size_t, |
190 | xfs_buf_flags_t); | 213 | xfs_buf_flags_t); |
191 | #define xfs_buf_get(target, blkno, len, flags) \ | 214 | extern xfs_buf_t *xfs_buf_read(xfs_buftarg_t *, xfs_off_t, size_t, |
192 | xfs_buf_get_flags((target), (blkno), (len), XBF_LOCK | XBF_MAPPED) | ||
193 | |||
194 | extern xfs_buf_t *xfs_buf_read_flags(xfs_buftarg_t *, xfs_off_t, size_t, | ||
195 | xfs_buf_flags_t); | 215 | xfs_buf_flags_t); |
196 | #define xfs_buf_read(target, blkno, len, flags) \ | ||
197 | xfs_buf_read_flags((target), (blkno), (len), XBF_LOCK | XBF_MAPPED) | ||
198 | 216 | ||
199 | extern xfs_buf_t *xfs_buf_get_empty(size_t, xfs_buftarg_t *); | 217 | extern xfs_buf_t *xfs_buf_get_empty(size_t, xfs_buftarg_t *); |
200 | extern xfs_buf_t *xfs_buf_get_noaddr(size_t, xfs_buftarg_t *); | 218 | extern xfs_buf_t *xfs_buf_get_noaddr(size_t, xfs_buftarg_t *); |
@@ -248,13 +266,6 @@ extern void xfs_buf_delwri_dequeue(xfs_buf_t *); | |||
248 | extern int xfs_buf_init(void); | 266 | extern int xfs_buf_init(void); |
249 | extern void xfs_buf_terminate(void); | 267 | extern void xfs_buf_terminate(void); |
250 | 268 | ||
251 | #ifdef XFS_BUF_TRACE | ||
252 | extern ktrace_t *xfs_buf_trace_buf; | ||
253 | extern void xfs_buf_trace(xfs_buf_t *, char *, void *, void *); | ||
254 | #else | ||
255 | #define xfs_buf_trace(bp,id,ptr,ra) do { } while (0) | ||
256 | #endif | ||
257 | |||
258 | #define xfs_buf_target_name(target) \ | 269 | #define xfs_buf_target_name(target) \ |
259 | ({ char __b[BDEVNAME_SIZE]; bdevname((target)->bt_bdev, __b); __b; }) | 270 | ({ char __b[BDEVNAME_SIZE]; bdevname((target)->bt_bdev, __b); __b; }) |
260 | 271 | ||
@@ -370,10 +381,6 @@ static inline void xfs_buf_relse(xfs_buf_t *bp) | |||
370 | 381 | ||
371 | #define xfs_bpin(bp) xfs_buf_pin(bp) | 382 | #define xfs_bpin(bp) xfs_buf_pin(bp) |
372 | #define xfs_bunpin(bp) xfs_buf_unpin(bp) | 383 | #define xfs_bunpin(bp) xfs_buf_unpin(bp) |
373 | |||
374 | #define xfs_buftrace(id, bp) \ | ||
375 | xfs_buf_trace(bp, id, NULL, (void *)__builtin_return_address(0)) | ||
376 | |||
377 | #define xfs_biodone(bp) xfs_buf_ioend(bp, 0) | 384 | #define xfs_biodone(bp) xfs_buf_ioend(bp, 0) |
378 | 385 | ||
379 | #define xfs_biomove(bp, off, len, data, rw) \ | 386 | #define xfs_biomove(bp, off, len, data, rw) \ |