Re: NFS problem on Microblaze LE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mar 3, 2011, at 10:08 AM, Michal Simek wrote:

> Chuck Lever wrote:
>> On Mar 3, 2011, at 4:29 AM, Michal Simek wrote:
>>> J. Bruce Fields wrote:
>>>> On Wed, Mar 02, 2011 at 07:20:10PM +0100, Michal Simek wrote:
>>>>> J. Bruce Fields wrote:
>>>>>> On Wed, Mar 02, 2011 at 05:11:53PM +0100, Michal Simek wrote:
>>>>>>> J. Bruce Fields wrote:
>>>>>>>> On Wed, Mar 02, 2011 at 02:04:18PM +0100, Michal Simek wrote:
>>>>>>>>> Hi,
>>>>>>>>> 
>>>>>>>>> I am getting some troubles to get nfs work on new Microblaze
>>>>>>>>> little-endian platform and I would like to ask you for some
>>>>>>>>> recommendations how to debug it.
>>>>>>>>> 
>>>>>>>>> First of all I need to write that Microblaze big-endian platforms have no problem.
>>>>>>>>> The problem only happen if I use mount without -o nolock option
>>>>>>>>> (mount -t nfs 192.168.0.101:/tftpboot/nfs /mnt)
>>>>>>>>> If I use -o nolock option I have no problem to use nfs.
>>>>>>>>> 
>>>>>>>>> I use xilinx emaclite and axi emac(it is not in the mainline now)
>>>>>>>>> driver and I have no problem to use dhcp, ftp, http, telnet and
>>>>>>>>> other internet protocols.
>>>>>>>>> 
>>>>>>>>> I compared debug logs on big and little endian platform(rootfs has
>>>>>>>>> the same setting) I found that little-endian got packet which is
>>>>>>>>> shorter than on big endian which I have added to the log below.
>>>>>>>>> The second thing, which I think is connected to the previous point,
>>>>>>>>> is that I am getting BADCRED in rpc_verify_headers.
>>>>>>>>> 
>>>>>>>>> Is there any option/macro/recommended debug technique how to see
>>>>>>>>> packets? I need to get some clue how to see packet and then how they
>>>>>>>>> are passed to rpc_verify_header function.
>>>>>>>> A good first step would be to look at the network traffic with
>>>>>>>> wireshark.
>>>>>>> Yes, I am looking at it all the time but I can't see anything weird.
>>>>>>> Look at attachment. 192.168.0.101 - host, 192.168.0.103 target.
>>>>>>> 
>>>>>>> There are two NULL calls and two reply calls.
>>>>>> Yes, looks normal.  I wonder why everything exept portmap is using udp,
>>>>>> but your debugging traces refer to tcp?
>>>>>> 
>>>>>> Oh, wait, it's talking about portmap map/unmap calls: could try try
>>>>>> running wireshark on the loopback interface?  (run with -ilo).
>>>>>> 
>>>>> It is captured by tcpdump (tcpdump -i lo -e -S -n -vvv -x -w nfs)
>>>>> If you want to use different setting please let me know. (I have
>>>>> also verbose node but saving to file should be enough for you).
>>>> A little odd; -s0 to get the whole packet might help.
>>> I can't use -s0 because I use older tcpdump but that shouldn't be a problem.
>>> Packet dumps for LE and BE are attached.
>>> 
>>>> You may also want to take a look at it yourself in wireshark.  Probably
>>>> you'll see the BADCRED error in one of the replies once you manage to
>>>> capture the right stuff.
>>> I have looked at it and I see two things.
>>> 1. TCP checksum is incorrect but BE has the same behavior that's why I think it is fine.
>>> 2. Packet #9 (V2 UNSET Reply (Call In 8)) contains Reply state: denied and AUTH_ERROR
>>> bad credential (seal broken) that's the confirmation what I saw from the kernel debug logs.
>>> 
>>> What does it caused this rejection?
>>> 
>>> I am looking for it in the kernel.
>> Which kernel release is this?  (uname -a)
> 
> I can see this behavior on several kernels 2.6.35-37. Currently I use 2.6.37.2.
> 
>> Which distribution is this?  
> 
> It is petalinux distribution which is embedded distribution for Microblaze and PPC440.
> 
>> In user space, does it use portmap with glibc RPC, or rpcbind with libtirpc?
> 
> I use the latest portmap from git://neil.brown.name/portmap that's why I suspect with glibc RPC.
> 
> Is there any endian changes in glibc implementation? We have done this port (not personally me) but if is I think that we miss this change.

That's the thing.  Both portmapper and glibc's RPC implementation are legacy, and thus fairly stable.  I'm not aware of any significant changes there recently.  I think you might also see a BADAUTH if your TCP wrapper configuration is not correct.  Otherwise, you might want to pursue this with petalinux.

-- 
Chuck Lever
chuck[dot]lever[at]oracle[dot]com




--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux