Re: Testing new nfs and VIMAGE

From: Goran Lowkrantz <glz_at_hidden-powers.com>
Date: Sat, 28 May 2011 15:35:50 +0200
--On Friday, May 27, 2011 7:03 PM -0400 Rick Macklem <rmacklem_at_uoguelph.ca> 
wrote:

>> And the attached core.txt got eaten.
>> <http://people.hidden-powers.com/~glz/core.txt.3>
>>
>> /glz
>>
>> --On May 27, 2011 10:37:32 +0200 Goran Lowkrantz
>> <glz_at_hidden-powers.com>
>> wrote:
>>
>> >
>> > I have been testing VIMAGE a lot lately to see how it works an all
>> > my
>> > test cases works as expected except when I use NFSv4 from an NFS
>> > client
>> > with a kerrel with VIMAGE enabled.
>> >
>> > All other permutations work and this error is very specific. All
>> > crashes
>> > occurs when trying to read or write to an NFS v4 volume. I have seen
>> > it
>> > on both i386 and amd64.
>> >
>> ># 12 0xc0a73c15 in rt_tables_get_rnh (table=0, fam=2)
>> >     at /usr/src/sys/net/route.c:153
>> >
>> >
>> > static __inline struct radix_node_head **
>> > rt_tables_get_rnh_ptr(int table, int fam)
>> > {
>> >         struct radix_node_head **rnh;
>> >
>> >         KASSERT(table >= 0 && table < rt_numfibs, ("%s: table out of
>> > bounds.",
>> >             __func__));
>> >         KASSERT(fam >= 0 && fam < (AF_MAX+1), ("%s: fam out of
>> >         bounds.",
>> >             __func__));
>> >
>> >         /* rnh is [fib=0][af=0]. */
>> > ---> rnh = (struct radix_node_head **)V_rt_tables;
>> >         /* Get the offset to the requested table and fam. */
>> >         rnh += table * (AF_MAX+1) + fam;
>> >
>> >         return (rnh);
>> > }
>> >
>> > Any ideas?
>> >
>> > Cores and dumps are available plus a vmware player setup to test and
>> > debug.
>> >
> I know diddly about VIMAGE, but you could try the attached patch which
> imitates what is done other places.
>
> If the patch isn't attached, you can find it at:
>   http://people.freebsd.org/~rmacklem/vnet.patch
>
> rick
It worked when I added CURVNET_SET/CURVNET_RESTORE around the RTFREE_LOCKED 
macro  too. Attached a complete patch.

Thank you.

/glz



Received on Sat May 28 2011 - 11:35:53 UTC

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