Re: [nfsv4] pNFS/Flexfiles testing at Oct. Bakeathon

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

 



On Tue, Aug 29, 2023 at 6:24 PM Chris Inacio <inacio@xxxxxxxx> wrote:
>
> >
> >>
> >> My clients will also have the implementations, normally they only talk to my server, but I can bring a standalone client for testing.
> > The FreeBSD pNFS server never issues delegations, so delstid wouldn't
> > really apply.
> > (The non-pNFS server does do delegations. Is delstid generic enough
> > that a non-pNFS
> > server should do it?)
> >
>
> [ci] For the noobs in the audience, if you don’ t mind, why doesn’t FreeBSD ever offer delegations?  (I’m getting just smart enough to be a bit dangerous.  Give me a few more months and I’ll really be able to ruin something…)
Good question, although I am not sure I have a good answer...
First off, implementing delegations isn't easy and for a long time
the FreeBSD server probably had bugs. (Delegations are more difficult
for NFSv4.0, since the server cannot easily determine if the client RPC
is from the client that holds the delegation.)
In my opinion, delegations can do two things:
1 - Allow a file to be Open'd locally in the client. For the FreeBSD client
     this has never seemed very useful, since apps. do not normally
      open/close/open/close... the same file.
2 - Allow for improved caching. I actually have a very bit rotted patch
     that did extensive file caching on non-volatile storage (the whole
     file for small files) when it held a delegation for the file.
     This code was never completed, so the effects of a delegation
     on caching in the FreeBSD client is minimal.
Without #2, I do not think delegations are worth the complexity/effort
to do them.  As such, the FreeBSD server does not have them enabled
by default (they can be anabled via a tunable). Historically this was
because of bugs/interoperability problems. More recently, mostly just
do not seem useful.

For the specific case of the pNFS server (which almost no one uses),
a problem was detected at a Bakeathon last year. The client was one
that I do not normally get to test against. The problem was related to
file removal when a delegation was issued to the client (I think it was
4.0, but cannot remember for sure?).
--> I cannot recall the details, but the only obvious fix where there was
     time to test during the Bakeathon was disabling delegations.
     --> As such, I just made the tunable to enable delegations not
          usable for the pNFS server case.
(My vague recollection was that the problem was vaguely similar to
 the Linux knfsd problem for a 4.0 client with a write delegation, in that
 it was difficult to both recall the delegation and remove the data on the DS
 correctly. But, I'll admit I cannot recall exactly what it was.)

rick
ps: It does offer delegations for the non-pNFS server if the tunable is used
      to turn them on.

>
>
> > The only other one I recall is the LayoutReturn with an error after the MDS
> > reboot. Not something we'd want to test at the Bakeathon, I'd guess?
> >
> > Thanks for the info, rick
> >
> >>
> >> Tom
>




[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