• Trond Myklebust's avatar
    NFSv4: Fix open_to_lock_owner sequenceid allocation... · e6e21970
    Trond Myklebust authored
    NFSv4 file locking is currently completely broken since it doesn't respect
    the OPEN sequencing when it is given an unconfirmed lock_owner and needs to
    do an open_to_lock_owner. Worse: it breaks the sunrpc rules by doing a
    GFP_KERNEL allocation inside an rpciod callback.
    
    Fix is to preallocate the open seqid structure in nfs4_alloc_lockdata if we
    see that the lock_owner is unconfirmed.
    Then, in nfs4_lock_prepare() we wait for either the open_seqid, if
    the lock_owner is still unconfirmed, or else fall back to waiting on the
    standard lock_seqid.
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    e6e21970
nfs4proc.c 100 KB