Commit bd984c03 authored by Jaegeuk Kim's avatar Jaegeuk Kim
Browse files

f2fs: show more DIO information in tracepoint



This prints more information of DIO in tracepoint.

Reviewed-by: default avatarChao Yu <chao@kernel.org>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent a1e09b03
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4284,7 +4284,7 @@ static ssize_t f2fs_dio_read_iter(struct kiocb *iocb, struct iov_iter *to)
	if (count == 0)
		return 0; /* skip atime update */

	trace_f2fs_direct_IO_enter(inode, pos, count, READ);
	trace_f2fs_direct_IO_enter(inode, iocb, count, READ);

	if (iocb->ki_flags & IOCB_NOWAIT) {
		if (!down_read_trylock(&fi->i_gc_rwsem[READ])) {
@@ -4483,7 +4483,7 @@ static ssize_t f2fs_dio_write_iter(struct kiocb *iocb, struct iov_iter *from,
	struct iomap_dio *dio;
	ssize_t ret;

	trace_f2fs_direct_IO_enter(inode, pos, count, WRITE);
	trace_f2fs_direct_IO_enter(inode, iocb, count, WRITE);

	if (iocb->ki_flags & IOCB_NOWAIT) {
		/* f2fs_convert_inline_inode() and block allocation can block */
+9 −6
Original line number Diff line number Diff line
@@ -936,14 +936,14 @@ TRACE_EVENT(f2fs_fallocate,

TRACE_EVENT(f2fs_direct_IO_enter,

	TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw),
	TP_PROTO(struct inode *inode, struct kiocb *iocb, long len, int rw),

	TP_ARGS(inode, offset, len, rw),
	TP_ARGS(inode, iocb, len, rw),

	TP_STRUCT__entry(
		__field(dev_t,	dev)
		__field(ino_t,	ino)
		__field(loff_t,	pos)
		__field(struct kiocb *,	iocb)
		__field(unsigned long,	len)
		__field(int,	rw)
	),
@@ -951,15 +951,18 @@ TRACE_EVENT(f2fs_direct_IO_enter,
	TP_fast_assign(
		__entry->dev	= inode->i_sb->s_dev;
		__entry->ino	= inode->i_ino;
		__entry->pos	= offset;
		__entry->iocb	= iocb;
		__entry->len	= len;
		__entry->rw	= rw;
	),

	TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu rw = %d",
	TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu ki_flags = %x ki_hint = %x ki_ioprio = %x rw = %d",
		show_dev_ino(__entry),
		__entry->pos,
		__entry->iocb->ki_pos,
		__entry->len,
		__entry->iocb->ki_flags,
		__entry->iocb->ki_hint,
		__entry->iocb->ki_ioprio,
		__entry->rw)
);