Remove Use_Test_Access option

Ganesha really depends on doing all permission checking, we will not
defer permission checking to the underlying file system.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Strip lots of code and Use COMMON_test_access instead

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Strip explicit permission checking from FSAL_GPFS

Permission checking will be done uniformly up in Cache_Inode layer.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Strip explicit permission checking from FSAL_PT

Permission checking will be done up in cache_inode_setattr

This is the FSAL_PT equivalent of commits:
e202b2344dea80d59220cec64879b31c9216667c
1ea7d624dacfb62d5cc906e0a5973c32dc27f091

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Strip explicit permission checking from FSALs: HPSS, LUSTRE, POSIX, VFS, XFS

Permission checking will be done uniformly up in Cache_Inode layer.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Strip explicit permission checking from MFSL

Permission checking will be done uniformly up in Cache_Inode layer.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Strip local op routines from FSAL_TEMPLATE

The routines in FSAL/common_methods.c should be used unless they must be
overode.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Strip testing of FSAL_access and FSAL_test_access

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Strip MFSL_access call

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Strip unused FSAL access check routines

The following routines are no longer used (only FSAL_test_access is still used):

FSAL_access
FSAL_setattr_access
FSAL_rename_access
FSAL_create_access
FSAL_unlink_access
FSAL_link_access

Signed-off-by: Frank Filz <ffilz@us.ibm.com>

Conflicts:

	src/FSAL/FSAL_PROXY/fsal_compat.c
Use COMMON_setattr_access for FSAL_PROXY

Signed-off-by: Frank Filz <ffilz@us.ibm.com>

Conflicts:

	src/FSAL/FSAL_PROXY/fsal_compat.c
Add some debug to cache_inode_access

Signed-off-by: Frank Filz <ffilz@us.ibm.com>

Conflicts:

	src/Cache_inode/cache_inode_access.c
Add fsal_set_credentials to fsal_symlink for FSAL_GPFS

Use fsal_set_credentials to avoid needing to chown the symlink.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Allow root execute permission if someone is allowed execute

For mode check, test is simple.

For ACL check, if we are looking for execute permission for root,
we walk the ACL, and consider ANY ACE as applicable, however, we
then ignore a DENY ACE.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Fix permission checking on READDIR

Do not provide handle or attributes if directory does not have SEARCH permission.

Do not provide attributes for a file if file does not have READ_ATTR permission
(this is a no-op if there is not NFS v4 ACL on the file).

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Make getattr optional with cache_inode_lookup and cache_inode_create

Not all callers of cache_inode_lookup need the attributes and we
are going to check permissions on getattr so it will be good to
not ask for them if we won't use them.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Don't get attr via nfs_FhandleToCache if we don't need them

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Properly permission check cache_inode_getattr

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Properly permission check cache_inode_lookup

Also check object type correctly.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Properly permission check cache_inode_create

Signed-off-by: Frank Filz <ffilz@us.ibm.com>