diff options
Diffstat (limited to 'fs/buffer.c')
-rw-r--r-- | fs/buffer.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 2219a76e2ca..5d0c2c6045c 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -41,11 +41,15 @@ #include <linux/bitops.h> #include <linux/mpage.h> #include <linux/bit_spinlock.h> +#include <trace/fs.h> static int fsync_buffers_list(spinlock_t *lock, struct list_head *list); #define BH_ENTRY(list) list_entry((list), struct buffer_head, b_assoc_buffers) +DEFINE_TRACE(fs_buffer_wait_start); +DEFINE_TRACE(fs_buffer_wait_end); + inline void init_buffer(struct buffer_head *bh, bh_end_io_t *handler, void *private) { @@ -90,7 +94,9 @@ EXPORT_SYMBOL(unlock_buffer); */ void __wait_on_buffer(struct buffer_head * bh) { + trace_fs_buffer_wait_start(bh); wait_on_bit(&bh->b_state, BH_Lock, sync_buffer, TASK_UNINTERRUPTIBLE); + trace_fs_buffer_wait_end(bh); } EXPORT_SYMBOL(__wait_on_buffer); |