Self deadlock in delegrecall_impl

The state_lock is pushed inside delegrecall_impl, so avoid acquiring
state_lock in queue_delegrecall while calling delegrecall_impl.

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Acked-by: Srikrishan Malik <srimalik@in.ibm.com>
Use COPY_STATEID to copy stateid.

Removed an unused call to state_share_check_conflict(), used
COPY_STATEID to copy delegation stateid.

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Clean up in nfs4_op_delegreturn

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Don't overwrite the delegation recall time

We should keep the first time when we attempt to recall the delegation
for calculating when to revoke. Don't overwrite that value with every
attempt to recall the delegation.

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Set lock_reclaim in get_delegation

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Fix subtract_deleg_from_list.

Also renamed the function to remove_deleg_lock. Also added missing owner
ref decrement when we free the delegation.

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Fix delegreturn to call stats before state_unlock_locked

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Initialize GPFS up ops before creating the thread.

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
DEBUG call back channel

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Get correct line number

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>