Re: NFSv4.1 client recovery of opens after server crash/reboot

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

 



On Sun, 2018-05-13 at 12:12 +0000, Rick Macklem wrote:
> I wrote:
> > I just ran a little test of an NFSv4.1 server (FreeBSD) reboot
> > while the Linux client
> > had two files open over an NFSv4.1 mount (linux-4.17-rc2).
> > It basically worked, but when I looked at the packet trace in
> > wireshark, it wasn't what
> > I expected.
> > The operations were basically:
> > 1 - ExchangeID
> > 2 - CreateSession
> > 3 - ReclaimComplete
> > 4 - Open/Claim_FH done twice to reclaim the Opens
> > 
> > This seems "unsafe" to me, since I think it would be possible for
> > another client to >Open the file with OPEN_DENY_BOTH between #3 and
> > #4, causing #4 to fail.
> > I was expecting something like:
> > 1 - ExchangeID
> > 2 - CreateSession
> > 3 - Open/Claim_previous done twice to reclaim the Opens
> > 4 - ReclaimComplete
> 
> I forgot to mention that this is probably not a serious issue right
> now, since most
> extant clients (FreeBSD and Linux I think?) always do Opens with
> OPEN_SHARE_DENY_NONE.
> The only current client I am aware of that does OPEN_SHARE_DENY_xx
> other than
> NONE is the ESXi 6.5 client. Btw, this client has serious issues that
> I might post here, so the Linux server maintainers are aware of them.
> 

Hi Rick,

The Linux client will attempt to reclaim opens correctly (i.e. before
sending RECLAIM_COMPLETE). However it will not attempt to reclaim any
lock state if the server advertises a different identity after the
reboot (see RFC5661, section 8.4.2.1.). Are you certain that the
FreeBSD server is advertising the same  eir_server_owner and
eir_server_scope fields after the reboot?

Cheers
  Trond
-- 
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@xxxxxxxxxxxxxxx
��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[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