GPFS FSAL cleanup.
build stuff:
 - fix githead_from_path.sh to not use bashisms
 - make it return a slightly longer string so that cmake substring
   for git abbrev will not fail
 - add libntirpc github repo url to error message when submodule not
   here, for people who build without git
 - automatically disable nfsidmap if not found like most other
   features

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
Log: Add a Log_FreeThreadContext function and use it in 9P dispatcher threads

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
9P: create dispatcher threads with PTHREAD_CREATE_DETACHED since they're not joined

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
9P/RDMA: use a send buffer queue instead of the 1-1 matching with recv ones

This saves 32MB/client in the default config at the cost of a negligible performance hit.

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
9P/RDMA: fix new output buffer queue with multiple IB adapters

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
V2.0-RC2

This got forgotten in the mad rush last week. Note that the tag
points to this commit's parent.  I will not change that tag since
it is pushed.

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Fix libcap handling properly

Reflect the libcap library search into the build.  This is now
architecture/OS independent.  Fix memory leaks.

Signed-off-by: Jim Lieb <jlieb@panasas.com>
CHECKPATCH: src/FSAL/FSAL_PROXY

Signed-off-by: Jim Lieb <jlieb@panasas.com>
CHECKPATCH: src/FSAL/FSAL_ZFS

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Merge remote-tracking branch 'marc/gpfs-cleanup' into merge_next

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Merge 9P and cleanup

This is from  commit '3a46e810838a' into merge_next

Signed-off-by: Jim Lieb <jlieb@panasas.com>
V2.0-RC3

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Compile fix for FSAL_GPFS

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Add some more debug to cache_inode_readdir.c

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Add fsal_private to req_op_context

This is a void * that allows the FSAL to attach private data to the current
request.

This is useful when the FSAL calls back to cache_inode and is then
subsequently called again.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Add FSAL_PSEUDO

FSAL_PSEUDO will be used to implement the PseudoFS segments.

It will support multiple PseudoFS segments (file systems).

For a PseudoFS segment at "/", it will generate the same handles that
Ganesha 1.5 and 2.0 generate for PseudoFS.

This FSAL does not support any files other than directories.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>