Enable delegations.

Signed-off-by: Srikrishan Malik <srimalik@in.ibm.com>
Check callback state during setclientid_confirm

Signed-off-by: Srikrishan Malik <srimalik@in.ibm.com>
Changes related to delegations and delegation recalls.
  Delegate only if callback path is up.
  Do not recall if the path status is down, wait for next renew to tell
  the client about path state.
  Mark the path down if recall callback fails.
  renew will return NFS4ERR_CB_PATH_DOWN if the path state is down.
  callback path is established only during setclientid_confirm.

Signed-off-by: Srikrishan Malik <srimalik@in.ibm.com>
Added new data structs, prototypes, and delegation functions.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Add code to state_lock() to update stats.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Initialize delegation stats when creating new inode entry.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Add support for delegation conflict detection when adding new state entry.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Make delegation recall function global. Add recording of stats.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Add delegation state removal and stats update in delegreturn.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Fix double lock and double free and add missing free for state lock.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Add support for removing delegation state during unlock.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Fix search for delegations in delegreturn. Fix second arg to state_del.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Fix owner added to delegation lock entries. Fix delegation stateid/seqid.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>