Make generic ACL code and GPFS ACL code same so GPFS can use generic

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>
Remove permission checking from GPFSFSAL_getattrs

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>
Add some debug to cache_inode_access

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