RHEL6.8: NFS4.1 client connected to NetApp with write delegations enabled enters loop of WRITE / NFS4ERR_BAD_STATEID or SETATTR / NFS4ERR_ADMIN_REVOKED when the same file is written from a 4.0 client

Solution Unverified - Updated -

Issue

I made a very simple testcase that can be run on two nodes where each node repeatedly writes the nodename and date to a given file without any locking.

# for i in $(seq 1 1000); do echo "$(hostname) $(date)" >> /mnt/nfs4/file; done

Since NFS4 delegations are enabled, this test will cause one client to obtain a delegation, write to the file for a while, then the delegation will be called back by the NFS server as a result of the second client's conflicting open.

I've found if I run this with on one NFS 4.0 client (for example, RHEL6.7) and then on a second client using NFS 4.1 either:
- run the same loop to the same file
- try to truncate the file

I can get the second 4.1 into an infinite loop of either WRITE / BAD_STATEID or SETATTR / ADMIN_REVOKED. I have to reboot the client to recover.

Environment

  • Red Hat Enterprise Linux 6.8 (NFS client)
    • seen on 2.6.32-642..el6
  • NetApp cDOT 8.3.2 (NFS server)
  • NFS4.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.