Re: newnfs user setup

From: Garrett Cooper <yanegomi_at_gmail.com>
Date: Sun, 4 Sep 2011 12:41:53 -0700
On Sun, Sep 4, 2011 at 9:28 AM, Brandon Gooch
<jamesbrandongooch_at_gmail.com> wrote:
> On Fri, Sep 02, 2011 at 08:25:05PM -0400, Rick Macklem wrote:
>> Brandon Gooch wrote:
>> > On Thu, Sep 1, 2011 at 8:09 PM, Brandon Gooch
>> > <jamesbrandongooch_at_gmail.com> wrote:
>> > > On Fri, May 27, 2011 at 8:09 AM, Rick Macklem <rmacklem_at_uoguelph.ca>
>> > > wrote:
>> > >>> On Thu, 26 May 2011, Rick Macklem wrote:
>> > >>> ...
>> > >>> > ??http://people.freebsd.org/~rmacklem/dtrace.patch
>> > >>> >
>> > >>> Hmm. Is it just me?
>> > >>> Trying to test the patch I get:
>> > >>>
>> > >>> (fs)(root) patch -C < dtrace.patch
>> > >>> Hmm... I can't seem to find a patch in there anywhere.
>> > >>>
>> > >> Here's how I apply the patch.
>> > >> - download dtrace.patch to somewhere, lets say /tmp, then
>> > >> # cd /usr/src/sys <-- sys subdirectory of a current head,
>> > >> ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? which you don't mind messing up
>> > >> ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? doesn't have to be at /usr/src/sys,
>> > >> ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? of course.
>> > >> # patch -p1 < /tmp/dtrace.patch
>> > >>
>> > >> rick
>> > >>
>> > >
>> > > What's the status on this patch? It would be nice to get
>> > > dtrace/newnfs
>> > > going for 9.0...it's not too late, right?
>> > >
>> > > I'll test the patch too BTW :)
>> > >
>> > > -Brandon
>> > >
>> >
>> > So it looks like the patch was committed to HEAD, but the bits to
>> > support the New NFS implementation were never flipped on -- is that
>> > for a good reason?
>> >
>> I know nothing about Dtrace, so if something needs to be changed/fixed,
>> someone who understands these things will have to let me know.
>>
>> When I built a kernel with "options KDTRACE_HOOKS" and set
>> dtraceall_load="YES" in /etc/rc.conf,
>> it booted and
>> # dtrace -l
>> - seemed to find the stuff (it's called "dtnfscl", btw).
>>
>> Someone told me that's how you check it's loaded and that's all I
>> know how to do w.r.t. dtrace.
>>
>> If you can test/debug it, that would be great, rick
>
> Actually, the problem is not with DTrace functioning, but with the
> dtnfsclient.ko module:
>
> brandon_at_m6500:~$ sudo kldload dtnfsclient
> kldload: can't load dtnfsclient: Exec format error
>
> brandon_at_m6500:~$ dmesg
> ...
> link_elf_obj: symbol nfsclient_accesscache_flush_done_id undefined
> linker_load_file: Unsupported file type
> ...

   After fixing a DTrace module related build bug (see kern/160463),
I was able to build and install dtrace and both the old and new NFS
client dtrace providers were loaded:

$ sudo dtrace -l | grep nfs | wc -l
   2472
$ kldstat -v | grep dtnfs
22    1 0xffffffff8133d000 57ca     dtnfscl.ko (/boot/kernel/dtnfscl.ko)
               234 dtnfscl
24    1 0xffffffff81385000 4f64     dtnfsclient.ko (/boot/kernel/dtnfsclient.ko)
               237 dtnfsclient

   Be sure to read through what's required to get DTrace going from
the handbook: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/dtrace-enable.html
.

> Any hints on debugging undefined symbols?

   This is a runtime linker error because it can't find the symbol --
in particular if you don't define some of the required options (like
DDB_CTF, WITH_CTF=1), things don't load too terribly well.
HTH,
-Garrett
Received on Sun Sep 04 2011 - 17:41:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:17 UTC