diff options
Diffstat (limited to 'include/linux/blktrace_api.h')
| -rw-r--r-- | include/linux/blktrace_api.h | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h index d960889e92ef..7e4350ece0f8 100644 --- a/include/linux/blktrace_api.h +++ b/include/linux/blktrace_api.h | |||
| @@ -116,9 +116,9 @@ struct blk_io_trace { | |||
| 116 | * The remap event | 116 | * The remap event |
| 117 | */ | 117 | */ |
| 118 | struct blk_io_trace_remap { | 118 | struct blk_io_trace_remap { |
| 119 | __be32 device; | ||
| 120 | __be32 device_from; | 119 | __be32 device_from; |
| 121 | __be64 sector; | 120 | __be32 device_to; |
| 121 | __be64 sector_from; | ||
| 122 | }; | 122 | }; |
| 123 | 123 | ||
| 124 | enum { | 124 | enum { |
| @@ -165,8 +165,9 @@ struct blk_trace { | |||
| 165 | 165 | ||
| 166 | extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *); | 166 | extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *); |
| 167 | extern void blk_trace_shutdown(struct request_queue *); | 167 | extern void blk_trace_shutdown(struct request_queue *); |
| 168 | extern int do_blk_trace_setup(struct request_queue *q, | 168 | extern int do_blk_trace_setup(struct request_queue *q, char *name, |
| 169 | char *name, dev_t dev, struct blk_user_trace_setup *buts); | 169 | dev_t dev, struct block_device *bdev, |
| 170 | struct blk_user_trace_setup *buts); | ||
| 170 | extern void __trace_note_message(struct blk_trace *, const char *fmt, ...); | 171 | extern void __trace_note_message(struct blk_trace *, const char *fmt, ...); |
| 171 | 172 | ||
| 172 | /** | 173 | /** |
| @@ -193,22 +194,42 @@ extern void __trace_note_message(struct blk_trace *, const char *fmt, ...); | |||
| 193 | extern void blk_add_driver_data(struct request_queue *q, struct request *rq, | 194 | extern void blk_add_driver_data(struct request_queue *q, struct request *rq, |
| 194 | void *data, size_t len); | 195 | void *data, size_t len); |
| 195 | extern int blk_trace_setup(struct request_queue *q, char *name, dev_t dev, | 196 | extern int blk_trace_setup(struct request_queue *q, char *name, dev_t dev, |
| 197 | struct block_device *bdev, | ||
| 196 | char __user *arg); | 198 | char __user *arg); |
| 197 | extern int blk_trace_startstop(struct request_queue *q, int start); | 199 | extern int blk_trace_startstop(struct request_queue *q, int start); |
| 198 | extern int blk_trace_remove(struct request_queue *q); | 200 | extern int blk_trace_remove(struct request_queue *q); |
| 201 | extern int blk_trace_init_sysfs(struct device *dev); | ||
| 199 | 202 | ||
| 200 | extern struct attribute_group blk_trace_attr_group; | 203 | extern struct attribute_group blk_trace_attr_group; |
| 201 | 204 | ||
| 202 | #else /* !CONFIG_BLK_DEV_IO_TRACE */ | 205 | #else /* !CONFIG_BLK_DEV_IO_TRACE */ |
| 203 | #define blk_trace_ioctl(bdev, cmd, arg) (-ENOTTY) | 206 | # define blk_trace_ioctl(bdev, cmd, arg) (-ENOTTY) |
| 204 | #define blk_trace_shutdown(q) do { } while (0) | 207 | # define blk_trace_shutdown(q) do { } while (0) |
| 205 | #define do_blk_trace_setup(q, name, dev, buts) (-ENOTTY) | 208 | # define do_blk_trace_setup(q, name, dev, bdev, buts) (-ENOTTY) |
| 206 | #define blk_add_driver_data(q, rq, data, len) do {} while (0) | 209 | # define blk_add_driver_data(q, rq, data, len) do {} while (0) |
| 207 | #define blk_trace_setup(q, name, dev, arg) (-ENOTTY) | 210 | # define blk_trace_setup(q, name, dev, bdev, arg) (-ENOTTY) |
| 208 | #define blk_trace_startstop(q, start) (-ENOTTY) | 211 | # define blk_trace_startstop(q, start) (-ENOTTY) |
| 209 | #define blk_trace_remove(q) (-ENOTTY) | 212 | # define blk_trace_remove(q) (-ENOTTY) |
| 210 | #define blk_add_trace_msg(q, fmt, ...) do { } while (0) | 213 | # define blk_add_trace_msg(q, fmt, ...) do { } while (0) |
| 214 | static inline int blk_trace_init_sysfs(struct device *dev) | ||
| 215 | { | ||
| 216 | return 0; | ||
| 217 | } | ||
| 211 | 218 | ||
| 212 | #endif /* CONFIG_BLK_DEV_IO_TRACE */ | 219 | #endif /* CONFIG_BLK_DEV_IO_TRACE */ |
| 220 | |||
| 221 | #if defined(CONFIG_EVENT_TRACING) && defined(CONFIG_BLOCK) | ||
| 222 | |||
| 223 | static inline int blk_cmd_buf_len(struct request *rq) | ||
| 224 | { | ||
| 225 | return blk_pc_request(rq) ? rq->cmd_len * 3 : 1; | ||
| 226 | } | ||
| 227 | |||
| 228 | extern void blk_dump_cmd(char *buf, struct request *rq); | ||
| 229 | extern void blk_fill_rwbs(char *rwbs, u32 rw, int bytes); | ||
| 230 | extern void blk_fill_rwbs_rq(char *rwbs, struct request *rq); | ||
| 231 | |||
| 232 | #endif /* CONFIG_EVENT_TRACING && CONFIG_BLOCK */ | ||
| 233 | |||
| 213 | #endif /* __KERNEL__ */ | 234 | #endif /* __KERNEL__ */ |
| 214 | #endif | 235 | #endif |
