You can subscribe at
https://lists.nfs-ganesha.org
Are you using the support_ex functions? If not, I think there are some bugs. The
non-support_ex functions are being deprecated (and in fact don’t exist in V2.6 or next).
If you are using support_ex, your FSAL is responsible for protecting an in-use global FD,
see how FSAL_VFS manages that.
Without support_ex, the protection is supposed to be done with the mdcache content_lock,
however, I’m not sure it’s always used. I think you can add your own protection.
You could also yourself use a separate FD for each request.
Although mdcache manages the lifetime of FDs, the FSAL really can do whatever it wants.
Frank
From: You Me [mailto:yourindianman@gmail.com]
Sent: Monday, May 7, 2018 5:06 PM
To: Frank Filz <ffilzlnx(a)mindspring.com>
Cc: NFS Ganesha Developers <nfs-ganesha-devel(a)lists.sourceforge.net>;
devel(a)lists.nfs-ganesha.org
Subject: Re: [Nfs-ganesha-devel] FD reuse in NFSv3
Ganesha 2.5.1 with my own FSAL.
How do I subscribe to new listserve?
--Satish
On Mon, May 7, 2018 at 5:58 PM, Frank Filz <ffilzlnx(a)mindspring.com
<mailto:ffilzlnx@mindspring.com> > wrote:
My NFS client does not retry I/O.
Ganesha is reusing FD instead of opening file for every read request.
Sometimes it closes the fd even when there is a worker waiting still in
read() call on the same fd. As a result that worker returns read error and
ganesha drops the RPC. NFS client does not get any reply and it eventually
times
out the I/O.
I see 2 solutions.
1. NFS client implement I/O retry
2. Ganesha open the file and try read again when file not opened error is
returned by FSAL.
3. Ganesha open the file for every read RPC instead of reusing FD.
NFS client is a legacy implementation and it is not going to be fixed.
Is there a way to achieve solutions 2 or 3?
What version of Ganesha are you using? Which FSAL?
Thanks
Frank
p.s. also consider subscribing to the new listserve