Thank you all. I will try managing the fd internally. And I will subscribe to the mailing list using the link given.

On Tue, May 8, 2018 at 12:42 AM, Frank Filz <ffilzlnx@mindspring.com> wrote:

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@mindspring.com>
Cc: NFS Ganesha Developers <nfs-ganesha-devel@lists.sourceforge.net>; devel@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@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