[Bug 216088] Get NFSv4.1 client's failure during recovery keep unrecovered opens

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Jan 14 23:07:44 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216088

            Bug ID: 216088
           Summary: Get NFSv4.1 client's failure during recovery keep
                    unrecovered opens
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: rmacklem at FreeBSD.org

Created attachment 178896
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=178896&action=edit
Don't free unrecovered opens when recovery of them fails

When the NFSv4.1 client is recovering from a server crash/reboot and the
recovery of opens fails, the code in current free's the unrecovered opens.

Byte range locks cannot be kept, since a conflicting lock might have been
acquired by a different client while it is not recovered. The server is
supposed to not allow a recovery when it has previously not been recovered.

However, since all opens for POSIX clients are Share_Deny_None, it seems
safe to attempt to recover them again, in case the server allows this.

This patch changes the client recovery code so that it retains unrecovered
opens, so a subsequent recovery can attempt to recover them.

Normally, this should not happen, but the AmazonEFS server crashes/reboots
frequently, including while recovery is still being done.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list