Retry blocking lock if not granted.
FSAL API: refcount is used as a signed int32, fix its type

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
Merge remote-tracking branch 'marc/relock' into next

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Merge remote-tracking branch 'martinetd/next' into next

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Add new glist_insert_sorted function to ganesha_list.h

This function uses a comparer routine to insert an element
into a sorted list

Signed-off-by: Allison Henderson <achender@vnet.linux.ibm.com>
Reviewed-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Reviewed-by: Malahal Naineni <malahal@us.ibm.com>
Reviewed-by: Jim Lieb <lieb@sea-troll.net>
Added a dbus broadcast service to the dbus thread
Other threads my add function callbacks to be invoked
by this service

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Signed-off-by: Allison Henderson <achender@vnet.linux.ibm.com>
Reviewed-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Reviewed-by: Malahal Naineni <malahal@us.ibm.com>
Reviewed-by: Jim Lieb <lieb@sea-troll.net>
Added new heartbeat message to dbus broadcast service

Added new configs to enable heartbeat and set interval
Also make the new heartbeat an introspective dbus signal

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Signed-off-by: Allison Henderson <achender@vnet.linux.ibm.com>
Reviewed-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Reviewed-by: Malahal Naineni <malahal@us.ibm.com>
Reviewed-by: Jim Lieb <lieb@sea-troll.net>
Fix usage of PATH_MAX

PATH_MAX includes the NUL byte. So any definition of the form
"char path[MAX_PATH+1]" is incorrect! It should just be "char
path[PATH_MAX]". Changed such definitions!

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Reviewed-by: Frank S. Filz <ffilzlnx@mindspring.com>
Add support to dbus interface for reporting delegation stats.

Format Corrections for check patch:
Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Reviewed-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Reviewed-by: Malahal Naineni <malahal@us.ibm.com>
Consolidated glib dbus python scripts.

Signed-off-by: Jeremy Bongio <jbongio@us.ibm.com>
Reviewed-by: Malahal Naineni <malahal@us.ibm.com>
Acked-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Added export_revert

which will be called when export_commit failed to clean up the following
 - node added to export_by_id avl tree
 - export added to exportlist
 - exp_work list element to mount_work list

Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Reviewed-by: Frank S. Filz <ffilzlnx@mindspring.com>
Reviewed-by: Malahal Naineni <malahal@us.ibm.com>
Check for export refcount before freeing export_stats

check for refcnt in free_export() before proceeding as it might have been
freed by put_gsh_export.

Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Reviewed-by: Frank S. Filz <ffilzlnx@mindspring.com>
Reviewed-by: Malahal Naineni <malahal@us.ibm.com>
Add internal error to config_error_type

And use it for cache_inode layer errors

Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Reviewed-by: Frank S. Filz <ffilzlnx@mindspring.com>
Display proper error on export stanza path errors

init_export_root checks for the export stanza path but the final error
displayed is (resource alloc) errors but it must be invalid param value.

Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Reviewed-by: Frank S. Filz <ffilzlnx@mindspring.com>
Reviewed-by: Malahal Naineni <malahal@us.ibm.com>
Simple format correction

Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Reviewed-by: Frank S. Filz <ffilzlnx@mindspring.com>
Merge remote-tracking branch 'ganltc/for-V2.2-dev-11' into next

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
V2.2-dev-11

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Don't grant a delegation when there is a conflicting open

The current code grants a delegation even though there are some opens
that conflict with granting the delegation. Possible rationale for this
omission is incorrect thinking that underlying FSAL, supporting the
delegation, would detect this and prevent us getting the lease lock.

Since we will have only one outstanding open call with FSAL, the first
call to acquire the lease lock for a write delegation will succeed even
if other NFS clients had opened the file for read or write.

We use cache_entry_t's share_state to know the number of prior read
opens and write opens to detect a conflict. If granting a delegation
would conflict with existing prior opens, we simply don't grant
delegation.

Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Acked-by: Frank S. Filz <ffilzlnx@mindspring.com>
Acked-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>