Date: Wed, 11 Jul 2012 20:10:40 -0400 (EDT) From: Benjamin Kaduk <kaduk@MIT.EDU> To: Fabian Keil <freebsd-listen@fabiankeil.de> Cc: rmacklem@freebsd.org, freebsd-hackers@freebsd.org Subject: Re: dtraceall.ko with old nfsclient Message-ID: <alpine.GSO.1.10.1207112007240.18441@multics.mit.edu> In-Reply-To: <20120711122935.1382e76d@fabiankeil.de> References: <1341863341.6064.11.camel@powernoodle.corp.yahoo.com> <4FFB4770.7050209@FreeBSD.org> <20120710154128.192eb8d6@fabiankeil.de> <1341939155.2573.8.camel@powernoodle.corp.yahoo.com> <20120710205702.5e57168b@fabiankeil.de> <4FFC8479.9080608@FreeBSD.org> <20120711122935.1382e76d@fabiankeil.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 11 Jul 2012, Fabian Keil wrote: > I'm using the following modification of Sean's patch: > > diff --git a/sys/modules/dtrace/dtraceall/dtraceall.c b/sys/modules/dtrace/dtraceall/dtraceall.c > index c57f590..d50b1e5 100644 > --- a/sys/modules/dtrace/dtraceall/dtraceall.c > +++ b/sys/modules/dtrace/dtraceall/dtraceall.c > @@ -67,8 +67,11 @@ MODULE_DEPEND(dtraceall, opensolaris, 1, 1, 1); > MODULE_DEPEND(dtraceall, dtrace, 1, 1, 1); > MODULE_DEPEND(dtraceall, dtio, 1, 1, 1); > MODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1); > +#if defined (NFSCL) > MODULE_DEPEND(dtraceall, dtnfscl, 1, 1, 1); > +#elif defined (NFSCLIENT) > MODULE_DEPEND(dtraceall, dtnfsclient, 1, 1, 1); > +#endif > #if defined(__amd64__) || defined(__i386__) > MODULE_DEPEND(dtraceall, fbt, 1, 1, 1); > MODULE_DEPEND(dtraceall, fasttrap, 1, 1, 1); > > The perceived problem is that after compiling dtraceall with > "make buildkernel", installing it with "make installkernel" > and rebooting, loading it results in: > > fk@r500 ~ $kldstat > Id Refs Address Size Name > 1 73 0xffffffff80200000 e492c0 kernel > 2 1 0xffffffff8104a000 226928 zfs.ko > 3 14 0xffffffff81271000 82b8 opensolaris.ko > 4 1 0xffffffff8127a000 23a48 geom_eli.ko > 5 2 0xffffffff8129e000 34380 crypto.ko > 7 1 0xffffffff812fe000 8640 acpi_video.ko > 8 1 0xffffffff81307000 7d00 acpi_ibm.ko > 9 4 0xffffffff81412000 29e31 usb.ko > 10 1 0xffffffff8143c000 32ec usb_quirk.ko > 11 1 0xffffffff81440000 bded ehci.ko > 12 1 0xffffffff8144c000 8d02 umass.ko > 13 1 0xffffffff81455000 5c2a nullfs.ko > 14 1 0xffffffff8145b000 51ac fdescfs.ko > 15 1 0xffffffff81461000 beb4 i915.ko > 16 1 0xffffffff8146d000 173cc drm.ko > 17 1 0xffffffff81485000 b25 dtraceall.ko > 18 1 0xffffffff81486000 4e00 profile.ko > 19 3 0xffffffff8148b000 4073 cyclic.ko > 20 10 0xffffffff81490000 23b931 dtrace.ko > 21 1 0xffffffff816cc000 125da systrace_freebsd32.ko > 22 1 0xffffffff816df000 13797 systrace.ko > 23 1 0xffffffff816f3000 44be sdt.ko > 24 1 0xffffffff816f8000 484d lockstat.ko > 25 1 0xffffffff816fd000 bce5 fasttrap.ko > 26 1 0xffffffff81709000 6553 fbt.ko > 27 1 0xffffffff81710000 448b dtmalloc.ko > 28 1 0xffffffff81715000 43d9 dtio.ko > > Note that dtnfscl.ko is not loaded even though loading > it manually works and I have NFSCL in the kernel. This is because dtraceall.c only #includes opt_compat.h, and the kernel build system only passes -include opt_global.h, so the dtraceall module build has no way of knowing about the NFSCL{IENT,} options defined in opt_nfs.h. (As you noted earlier in the thread?) You would still need to address Andriy's comments in order to ensure that the configuration seen by the module matches the kernel. -Ben Kaduk
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.GSO.1.10.1207112007240.18441>