163
166
extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *);
164
167
extern void blk_trace_shutdown(struct request_queue *);
165
extern int do_blk_trace_setup(struct request_queue *q,
166
char *name, dev_t dev, struct blk_user_trace_setup *buts);
168
extern int do_blk_trace_setup(struct request_queue *q, char *name,
169
dev_t dev, struct block_device *bdev,
170
struct blk_user_trace_setup *buts);
167
171
extern void __trace_note_message(struct blk_trace *, const char *fmt, ...);
190
194
extern void blk_add_driver_data(struct request_queue *q, struct request *rq,
191
195
void *data, size_t len);
192
196
extern int blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
197
struct block_device *bdev,
193
198
char __user *arg);
194
199
extern int blk_trace_startstop(struct request_queue *q, int start);
195
200
extern int blk_trace_remove(struct request_queue *q);
201
extern int blk_trace_init_sysfs(struct device *dev);
203
extern struct attribute_group blk_trace_attr_group;
197
205
#else /* !CONFIG_BLK_DEV_IO_TRACE */
198
#define blk_trace_ioctl(bdev, cmd, arg) (-ENOTTY)
199
#define blk_trace_shutdown(q) do { } while (0)
200
#define do_blk_trace_setup(q, name, dev, buts) (-ENOTTY)
201
#define blk_add_driver_data(q, rq, data, len) do {} while (0)
202
#define blk_trace_setup(q, name, dev, arg) (-ENOTTY)
203
#define blk_trace_startstop(q, start) (-ENOTTY)
204
#define blk_trace_remove(q) (-ENOTTY)
205
#define blk_add_trace_msg(q, fmt, ...) do { } while (0)
206
# define blk_trace_ioctl(bdev, cmd, arg) (-ENOTTY)
207
# define blk_trace_shutdown(q) do { } while (0)
208
# define do_blk_trace_setup(q, name, dev, bdev, buts) (-ENOTTY)
209
# define blk_add_driver_data(q, rq, data, len) do {} while (0)
210
# define blk_trace_setup(q, name, dev, bdev, arg) (-ENOTTY)
211
# define blk_trace_startstop(q, start) (-ENOTTY)
212
# define blk_trace_remove(q) (-ENOTTY)
213
# define blk_add_trace_msg(q, fmt, ...) do { } while (0)
214
static inline int blk_trace_init_sysfs(struct device *dev)
207
219
#endif /* CONFIG_BLK_DEV_IO_TRACE */
221
#if defined(CONFIG_EVENT_TRACING) && defined(CONFIG_BLOCK)
223
static inline int blk_cmd_buf_len(struct request *rq)
225
return blk_pc_request(rq) ? rq->cmd_len * 3 : 1;
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);
232
#endif /* CONFIG_EVENT_TRACING && CONFIG_BLOCK */
208
234
#endif /* __KERNEL__ */