In src/CMakeLists.txt project was renamed from "GANESHA" to "nfs-ganesha", so that the package keep the same naming convention than the previous one with autotools.
RPM with CMake : skeletons OK.
This commit is to be squashed with laters

Conflicts:

	src/CMakeLists.txt
	src/cmake/modules/UseRPMTools.cmake
Cleaner RPM generation with CMake
Things to be fixed
	- init.d / systemd scripts
	- config sample
	- /etc/ganesha.d dir
	- lib64 path
	- fsal libs stored in /usr/lib64/nfs-ganesha
Depending on 64bits/32 bits architecture, fsals are now installed under lib/ganesha or lib64/ganesha
Related change has been made to RPM generation as well.
RPM generation is now clean
Mismatched cmake's if/endif pair in UseRPMTools.cmake
In 'rpmbuild' buld configuration, force USE_DBUS and USE_DBUS_STATS to ON for Ganesha won't compile if those options are OFF
Option to disable grace period

Setting NFSv4.Graceless to TRUE in the Ganesha configuration now
disables the grace period while not affecting the lease period.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Organize and document configuration

Document all configuration settings, you will notice a new module in
doxygen.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Clean up documentation infelicities

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Free only allocated xprt private data.

The issue was the non-agreement of gsh_free_xprt_private
and its caller on the type of its argument.

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

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Cache inode get: Release lock after using it

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

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Re-organize cmake infrastructure for creating 'gos' library.

This commit consolidates cmake infrastructure for creating 'gos' library in a
single CMakeLists.txt file.

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
Implement platform independent wrapper APIs for setting user/group ids for file
system access.

FreeBSD platform doesn't support file system user ids. Consequently, we can't
use APIs like setfsid() on FreeBSD platform.

This commit implements wrappers for setting file system user/groups ids. On
Linux, we continue to call setfsuid()/setfsgid() under the hood while on FreeBSD
we use system calls SYS_seteuid/SYS_setegid.

On FreeBSD, we use above mentioned syscalls instead of libc APIs due the fact
that libc APIs implement posix symantics which are process wide as opposed to
thread specific.

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
Remove potential deadlock in LRU reclaim path.

The modules are cooperating at a deep/low level by design.
Add flags to permit the LRU thread to indicate that it holds
the entry qlock.

Deadlock found by "MARTINET Dominique"
<dominique.martinet@cea.fr>.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
gsh_time_cmp should take const pointers not copied structs

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Delayed executor

A system to schedule work to be done in the future.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Change argument structure for FSAL layoutreturn

Remove the synthetic ad reclaim booleans and replace it with an enum
indicating the circumstance of the return.  Of most insterest is
(likely) circumstance_revoked, which would indicate bad behavior on
the part of the client and may prompt fencing or other action.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>