Date: Fri, 27 Jul 2012 15:44:57 -0700 From: Sean Bruno <seanbru@yahoo-inc.com> To: Andrew Boyer <aboyer@averesystems.com> Cc: "freebsd-hackers@FreeBSD.org" <freebsd-hackers@FreeBSD.org>, Fabian Keil <freebsd-listen@fabiankeil.de>, Andriy Gapon <avg@FreeBSD.org> Subject: Re: dtraceall.ko with old nfsclient Message-ID: <1343429097.5002.14.camel@powernoodle.corp.yahoo.com> In-Reply-To: <742407DF-8026-4976-A1F9-A170A62EF87A@averesystems.com> 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> <alpine.GSO.1.10.1207112007240.18441@multics.mit.edu> <20120712201741.34573af4@fabiankeil.de> <4FFF2171.1030800@FreeBSD.org> <20120712213615.39640d1f@fabiankeil.de> <4FFF27F0.4000106@FreeBSD.org> <742407DF-8026-4976-A1F9-A170A62EF87A@averesystems.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2012-07-12 at 12:47 -0700, Andrew Boyer wrote: > On Jul 12, 2012, at 3:39 PM, Andriy Gapon wrote: > > > on 12/07/2012 22:36 Fabian Keil said the following: > >> Andriy Gapon <avg@FreeBSD.org> wrote: > >> > >>> on 12/07/2012 21:17 Fabian Keil said the following: > >>>> Benjamin Kaduk <kaduk@MIT.EDU> wrote: > >>>> > >>>>> On Wed, 11 Jul 2012, Fabian Keil wrote: > >>>>> > >>>>>> I'm using the following modification of Sean's patch: > >>>> > >>>> This way it seems to work as expected: > >>>> > >>>> diff --git a/sys/modules/dtrace/dtraceall/Makefile > >>>> b/sys/modules/dtrace/dtraceall/Makefile index 456efd1..628583b 100644 > >>>> --- a/sys/modules/dtrace/dtraceall/Makefile +++ > >>>> b/sys/modules/dtrace/dtraceall/Makefile @@ -1,7 +1,7 @@ # $FreeBSD: > >>>> src/sys/modules/dtrace/dtraceall/Makefile,v 1.3 2011/04/09 09:07:31 uqs > >>>> Exp $ > >>>> > >>>> KMOD= dtraceall -SRCS= dtraceall.c opt_compat.h > >>>> +SRCS= dtraceall.c opt_compat.h opt_nfs.h > >>>> > >>>> CFLAGS+= -I${.CURDIR}/../../.. > >>>> > >>> > >>> If you do cd sys/modules/dtrace/dtraceall && make [obj depend] all, does > >>> it compile OK with the above change? > >> > >> Depends on your expectations I guess. As neither NFS-related option gets > >> defined, no dependency on either NFS module is registered. The compiler has > >> no complaints, though. > > > > Interesting. Could you repeat after sufficient cleaning up? > > I am not sure where from opt_nfs.h file could come. > > > > Maybe related: check out sys/modules/ipfw/Makefile. It makes its own option headers for INET and INET6. > > -A > > -------------------------------------------------- > Andrew Boyer aboyer@averesystems.com > > > > I've pondered this on an off for a couple of weeks now. I can clearly see that if we want compile time dependencies, that's fine, we can make each nfclient object dependant on the #define. Both are valid cases to have loaded though, so they shouldn't be conditional on each other as in my patches. If one does this however, the module makefile needs to be adjusted like the ipfw makefile to create an opt_nfs.h with the NFS client defines, else you will have neither dtrace object available. There isn't a clear way that I can see to compile dtraceall.ko as a module if you are doing so outside of the kernel compile though. The module tree isn't really aware of what you are running, therefore it would have to compile to load both regardless. Which, if your kernel doesn't support one or both nfs objects, will cause a kldload failure. I'm not real clear how to unwind this situation. Sean
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1343429097.5002.14.camel>