• Benny Halevy's avatar
    nfs41: find slot · 510b8175
    Benny Halevy authored
    Find a free slot using bitmap-based allocation.
    Use the optimized ffz function to find a zero bit
    in the bitmap that indicates a free slot, starting
    the search from the 'lowest_free_slotid' position.
    
    If found, mark the slot as used in the bitmap, get
    the slot's slotid and seqid, and update max_slotid
    to be used by the SEQUENCE operation.
    
    Also, update lowest_free_slotid for next search.
    
    If no free slot was found the caller has to wait
    for a free slot (outside the scope of this function)
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    [nfs41: find slot return slotid]
    Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    [use find_first_zero_bit for nfs4_find_slot as per review comment 21/85.]
    [use NFS4_MAX_SLOT_TABLE rather than NFS4_NO_SLOT]
    [nfs41: rpc_sleep_on slot_tbl_waitq must be called under slot_tbl_lock]
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    510b8175
nfs4proc.c 107 KB