Clean GPFS FSAL interface.
FSAL VFS - factor out common code for dealing with new objects

Every time make_file_safe is called it's followed immediately
by the call to alloc_handle: move alloc_handle into make_file_safe
and save on lines of code.

Signed-off-by: Max Matveev <makc@gmx.co.uk>
FSAL VFS - factor out common code for dealing with 'strange ducks'

Symlinks, block and character device nodes, pipes, fifos etc require
special handling. The information used for special handling is stashed
in the vfs_fsal_obj_handle but code which deals with acquiring this
information is spread around.

Because the code action always preceed calls to alloc_handle() is makes
sense to move the code into alloc_handle().

Signed-off-by: Max Matveev <makc@gmx.co.uk>
FSAL VFS - deal with setattr on symlinks

Symlinks are strange - unless one opens then
for read/write fchownat does not work. futimes/futimens
and friends don't work on them at all, so make fchmodat
happy and ignore timestamps: it's better then failing
and leaving debris behind.

Signed-off-by: Max Matveev <makc@gmx.co.uk>
Housekeeping - update gitignore

Now that autotools are gone do not ignore .lo and .la
files but do ignore .a.

Also ignore FSAL shared objects - anything which starts
with libfsal is fair game.

Signed-off-by: Max Matveev <makc@gmx.co.uk>
Cmake - make sure DEBUG_SYMS are honoured

Override CMAKE_C_FLAGS after setting project defaults
to include -g if DEBUG_SYMS was set.

Signed-off-by: Max Matveev <makc@gmx.co.uk>
FSAL VFS - deal with XFS-specific handles

Abstract operations which deal with creating and
manipulating of handles and add XFS-specific
handle processing.

I'm still using vfs_file_handle_t as container
for XFS handles but every place which used
to call vfs_XXX_by_handle_at is now going via
indirection vector in vfs_fsal_export.

The vector has to be in the export because we
need to be able to create vfs_fsal_obj_handle
out of the opaque file handle which could have been
cached on the client.

Signed-off-by: Max Matveev <makc@gmx.co.uk>
FSAL XFS - good bye

FSAL XFS is now part of FSAL VFS

Signed-off-by: Max Matveev <makc@gmx.co.uk>
Avoid re-defining common types

Some compilers don't like when types are re-defined,
so take care to only define them once: e.g. if a type
is defined the common header which includes OS-specific
one then don't define the same type in OS-specific header.

Signed-off-by: Max Matveev <makc@gmx.co.uk>
Track duplex-9 SVCXPRT refcounting change.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/MainNFSD/nfs_rpc_dispatcher_thread.c
	src/MainNFSD/nfs_worker_thread.c
	src/include/ganesha_rpc.h

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Restore missing clear DECODING flag in gsh_xprt_unref.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Fix spacing typo.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Release xprt->xp_lock before re-arming.

At present svc_rqst_rearm_events doesn't take xprt->xp_lock, but
it does take sr_rec->mtx, which in the current order should be
taken first.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Fix refcnt underrun.

The root cause was a misordering of the SVC_DESTROY and (indirect)
SVC_RELEASE invocations in the decoder thread.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Pass CMAKE_C_FLAGS to TI-RPC submake.  Bump TI-RPC
Version.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Remove superceded XPRT_PRIVATE_FLAG_DESTROYED and support.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Bump TI-RPC Version.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Cleanup nfs_rpc_outstanding_reqs_est.

Streamline atomic operations, fix signedness.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Bump TI-RPC Version.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Bump TI-RPC Version.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>