https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220965
Bug ID: 220965 Summary: Some dtrace_io probes lack struct bio reference Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: f...@fabiankeil.de According to dtrace_io(4) and "dtrace -lvn io:::", the dtrace_io probes use a struct bio * as arg[0] to represent the I/O request, however that is only true for the probes declared with a define with _BIO_ in its name. Quoting sys/kern/subr_devstat.c: 57 #define DTRACE_DEVSTAT_START() SDT_PROBE2(io, , , start, NULL, ds) 58 #define DTRACE_DEVSTAT_BIO_START() SDT_PROBE2(io, , , start, bp, ds) 59 #define DTRACE_DEVSTAT_DONE() SDT_PROBE2(io, , , done, NULL, ds) 60 #define DTRACE_DEVSTAT_BIO_DONE() SDT_PROBE2(io, , , done, bp, ds) As a result, even simple scripts like the example in dtrace_io(4) result in errors like: dtrace: error on enabled probe ID 1 (ID 41752: io:kernel:none:start): invalid address (0x20) in action #6 at DIF offset 16 One can workaround this by skipping probes without bio reference by adding: /args[0] != NULL/ but it would be more convenient if probes with bio reference had a different name than those that don't. -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-bugs@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"