[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Shell copy_file() issue with NFS and small MAC receive buffer
- Date: Thu, 31 Mar 2011 17:59:23 -0400
- From: kevin.kirspel at optimedical.com (Kirspel, Kevin)
- Subject: Shell copy_file() issue with NFS and small MAC receive buffer
I am upgrading from 4.9 to 4.10 and I have come across an issue between the RTEMS shell and NFS networking.
In 4.10, I cannot copy files from an NFS share to the RTEMS file system (which works fine in 4.9). I traced it back to the copy_file() function in the RTEMS shell (utils-cp.c). In the 4.9 version, the buffer size was set to 4096. In 4.10, the buffer size is set to 8192. This causes a problem with my NFS because my Ethernet MAC/PHY only has a 8192 receive buffer. I have to set the NFS nfsStBlksize to 4096 to prevent buffer overflows. The copy_file() function is requesting 8192 bytes from the nfs_file_read() function which has only a4096 block size. In this case, the NFS server does not respond to the request. I get the following error:
RPCIO: server '192.168.21.204' not responding - still trying
NFS (proc 6) - RPC: Timed out
What is the appropriate way to fix this scenario? Should I have a while loop in the nfs_file_read() function to process multiple NFS requests until I get all the bytes needed?
Senior Electrical Engineer
235 Hembree Park Drive
Roswell GA 30076
Tel: (770)-510-4444 ext. 81642
-------------- next part --------------
An HTML attachment was scrubbed...