Date: Sun, 5 Dec 2010 19:44:29 +0100 From: Thomas Zander <thomas.e.zander@googlemail.com> To: freebsd-stable <freebsd-stable@freebsd.org> Subject: Re: DTrace (or other monitor) access to LBA of a block device Message-ID: <AANLkTintS%2B-%2B3XJb3K7z6n%2B6Ngx=oJ90VV_bPGLVAOm_@mail.gmail.com> In-Reply-To: <AANLkTim2VCanQ1Sp15GU5Td8bL=J-8drkoZPKqTgbwtv@mail.gmail.com> References: <AANLkTi=2Ln5s-mD%2B%2B-iKEq2v-1f31fpavXB7kUfTC2Lf@mail.gmail.com> <AANLkTikWoCmRQE6VDG1S88s5UCtXY7acP1Q_pwo=gYY%2B@mail.gmail.com> <AANLkTim2VCanQ1Sp15GU5Td8bL=J-8drkoZPKqTgbwtv@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Dec 5, 2010 at 19:02, Artem Belevich <fbsdlist@src.cx> wrote: >> GEOM sounds like a good candidate for probing of that kind. >> >> sudo dtrace -n 'fbt:kernel:g_io_deliver:entry { printf("%s %d %d >> %d\n",stringof(args[0]->bio_from->geom->name), args[0]->bio_cmd, >> args[0]->bio_offset, args[0]->bio_length); }' > > By the way, in order for this to work one would need r207057 applied > to -8. Any chance that could be MFC'ed? In the meantime, a workaround is an explicit cast. Using ((struct bio *)arg0) instead of args[0] works. Or wrapped in a tiny d script: #!/usr/sbin/dtrace -s #pragma D option quiet fbt:kernel:g_io_deliver:entry { bio = (struct bio *)arg0; printf("%s %d %d %d\n",stringof(bio->bio_from->geom->name), bio->bio_cmd, bio->bio_offset, bio->bio_length); } Riggs
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTintS%2B-%2B3XJb3K7z6n%2B6Ngx=oJ90VV_bPGLVAOm_>