This commits implements "extended group lists" feature which
allows secondary group list to be longer than 16 by not trusting grplist in AUTH_SYS creds
Various fixes focused on xattr and system.* xattr namespace.
They are required to have usable ACLs managed via 9P
- 9P/xattr : bug fixed, assumption was made that xattr's
  value is a string. This prevented ACLs
   (content of system.posix_acl_access), which is a binary buffer,
   to be set properly.
- 9P/ACL: Hook added to deal properly with pseudo xattr "system.posix_acl_access"
- 9P/ACL: the protocol implements hooks to deal correctly with "system.posix_acl_access" pseudo xattr
- 9P/xattr : an ACL corner case (visible with FSAL_VFS and not FSAL_LUSTRE) was fixed.
- FSAL_VFS/xattr : code in xattrs.c has been hardened as 9P ACL support was backported to VFS
Big commit to update the FSAL_LUSTRE tree

LUSTRE/pNFS: This commit implements the support of pNFS for FSAL_LUSTTRE
CHECKPATH: work done on FSAL_LUSTRE
FSAL_LUSTRE: portability feature, do not show <lustrre_root>/.lustre
With Lustre 2.4 and higher, this object starts to behace quiet weirdly.
FSAL_LUSTRE: Fix regression (parent dir badly managed via FID) observed
in lustre > 2.4
FSAL_LUSTRE: ported to LUSTRE 2.4 and 2.5
	adding fake file lustre_errno.h to allow compilation with Lustre 2.5
FSAL_SHOOK: missing pNFS vector
FSAL_LUSTRE: a few unused/unitialised variables fixed
pNFS/LUSTRE: invalidate attrs on close (force DS/MDS coherency). Think about something more subtle.
SQUASH ME
build: fix build to handle non-standard installation directories

This patch handles non standard installation directories for
Lustre, Mooshika and IB libraries (librdmacm, libverbs), with the
following new variables:
- LUSTRE_PREFIX
- MOOSHIKA_PREFIX
- LIBRDMACM_PREFIX
- LIBIBVERBS_PREFIX

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Signed-off-by: Philippe DENIEL <philippe.deniel@cea.fr>
FSAL_LUSTRE: Fix readlinks:
 - Change size from 1024 to PATH_MAX (coherent with the rest of the code)
 - readlink one less byte so we can't overflow when writing the final \0

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
9P: CID#23140, CID#23141: buffer overrun calling getpw{nam,uid}_r

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
9P: CID#23114: fix strncpy(.., .., strlen(..))

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
9P: CID#23116: lock: missing state_status assignment

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
9P: CID#23122: access2fsal converting readonly access improperly

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
9P/RDMA: Fix use of uninitialized variable

(+ add use of errno when msk_reg_mr fails)
Thanks to Grégoire Pichon (Bull) for this.

Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
9P: getattr: use values instead of pointers.

Pointers cause copying garbage when the pointed value is a u32 used as a u64.