Convert gsh_client and gsh_export lock from mutex to rwlock

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
MORE Use pin reference instead of LRU reference on export root and junction cache inodes

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Protect export root and junction fields with gsh_export lock

The fields so protected are:

exp_root_cache_inode
exp_mounted_on_file_id
exp_junction_inode
exp_parent_exp

Also fix a leaked fsal_obj_handle in mnt_Mnt

9p code takes a reference to exp_root_cache_inode without taking
an additional reference. That is something that must be fixed but'
is beyond the scope of this patch.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Make nfs3_FSALToFhandle and nfs2_FSALToFhandle be passed the relevant export

The handle must be converted using the relevant export_id, so we need to
pass the export in instead of relying on the export in the FSAL handle.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Make nfs4_FSALToFhandle be passed the relevant export

The handle must be converted using the relevant export_id, so we need to
pass the export in instead of relying on the export in the FSAL handle.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Eliminate use of fsal_export exp_entry where easy to do so

We should use the gsh_export passed in req_op_context where possible.

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