• J. Bruce Fields's avatar
    Revert "nfsd4: a client's own opens needn't prevent delegations" · 6ee65a77
    J. Bruce Fields authored
    This reverts commit 94415b06.
    
    That commit claimed to allow a client to get a read delegation when it
    was the only writer.  Actually it allowed a client to get a read
    delegation when *any* client has a write open!
    
    The main problem is that it's depending on nfs4_clnt_odstate structures
    that are actually only maintained for pnfs exports.
    
    This causes clients to miss writes performed by other clients, even when
    there have been intervening closes and opens, violating close-to-open
    cache consistency.
    
    We can do this a different way, but first we should just revert this.
    
    I've added pynfs 4.1 test DELEG19 to test for this, as I should have
    done originally!
    
    Cc: stable@vger.kernel.org
    Reported-by: default avatarTimo Rothenpieler <timo@rothenpieler.org>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    6ee65a77
locks.c 80 KB