Detect errors on nfs_rpc_dispatch_call

If clnt_call returns something other than success, pass RPC_CALL_ABORT
to the completion hook rather than RPC_CALL_COMPLETE.

Also pull up to libntirpc to signal timeout and not timeout spuriously.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Fill in the export_perm and then pass it to get_req_uid_gid

Manage_Gids option works with NFSv3 but fails with NFSv4. We need to
call nfs_export_check_access() first to fill in the export_perm, and
then call get_req_uid_gid().
Bump tirpc to include Rong Zeng's GSS patch

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Merge remote-tracking branch 'linuxbox2/next' into merge_next

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

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Jim Lieb <jlieb@panasas.com>
Fix PT compile errors and some PT clean up

(cherry picked from commit d5202723fa7f4d7c7abca450d3f34c89aed184e6)

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Fix strict compile errors in FSAL_PT

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

(cherry picked from commit b26589fa81dd51c73dcfd3e2f638cad8c35f5263)

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Strict compile set-but-not-used

Commented out all this NOP code.  Check for possible dead code?

Signed-off-by: Jim Lieb <jlieb@panasas.com>
V2.1-dev_6

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Pull up libntirpc to get inline reply decode

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Don't free the layoutrecall argument on DELAY

Otherwise we die horribly in embarrassing ways.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Revert "Remove PT refrences to deprecated folder src/include"

This reverts commit a398e65978fc9a7d6501aed8e5e5a048efdebfe2.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Fix checkpatch errors introduced recently

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Jim Lieb <jlieb@panasas.com>
Fix an issue with NFS 4 clientid recovery directory

This fixes a minor issue, however, this recovery directory code really
needs a complete rework since the file names are a hash of information'
from the client with a significant collision factor (a quick calculation
suggests that pynfs nfs4.0 test CID5 which tries 1000 clientids hashes
into just 66 different recovery file names).

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>
Signed-off-by: Jim Lieb <jlieb@panasas.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>
Convert FSAL_PSEUDO to avl representation.

As in the dirent package, pseudofs entries are in two avl
trees, one ordered by name, the other by index.

Removes linear searches, in exchange for sorted inserts
and rotations, as usual.

Bug with empty directory fixed by FSF.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Add lookup parent to FSAL_PSEUDO

To handle cache_inode_lookupp we need to be able to handle lookup
parent in the FSAL.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Add inline function to take a reference on a gsh_export

Any place we are just taking a reference on an already found gsh_export
we just need to increment the refcount.

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