> + trace_iomap_dio_rw_begin(iocb, iter, dio_flags, done_before, ret); > dio = __iomap_dio_rw(iocb, iter, ops, dops, dio_flags, private, > done_before); > if (IS_ERR_OR_NULL(dio)) { > @@ -689,6 +691,7 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, > } > ret = iomap_dio_complete(dio); > out: > + trace_iomap_dio_rw_end(iocb, iter, dio_flags, done_before, ret); The trace_iomap_dio_rw_end tracepoint heere seems a bit weird, and we'll miss it for file systems using __iomap_dio_rw directly. I'd instead add a trace_iomap_dio_rw_queued for the case where __iomap_dio_rw returns ERR_PTR(-EIOCBQUEUED), as otherwise we're nicely covered by the complete trace points. > + __print_flags(__entry->dio_flags, "|", TRACE_IOMAP_DIO_STRINGS), Please avoid the overly lone line here.