NFS4.2 fallocate support.
bug fix in spec file.

Signed-off-by: Rong Zeng <rongzeng@us.ibm.com>
Merge remote-tracking branch 'ganltc/ibm_next_20' into merge_next

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Merge remote-tracking branch 'marc/fallocate' into merge_next

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Fix compile error for option turned off in LUSTRE export.c

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Silence unused error in LUSTRE mds.c

Incomplete code

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Deprecate USE_PNFS bit and keyword in exports

Removed bit to make room for an already full export_perms.options

split out from commit 886a2e5050e593a009c60410b860c1b9cce126e1

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Adds the "manage gids" feature.

The server will query an external group list provider
to know what are the alt groups (or secondary groups).

When used with AUTH_SYS:
The server will then trust what getgrouplist() tells and won't trust
altgroups provided in AUTH_SYS creds. The server will then manage all
the gids by himself.
Interesting consequence is a better centralization of groups management.
At the same time, this breaks the 16 altgroup array size in the AUTH_SYS
credentials which lead to EPERM. If the server uses the feature introduced
by this commit, user can belong to more than 16 groups.
All groups will be considered. None will be forgotten as it occurred with
standard AUTH_SYS.

When use with RPCSEC_GSS:
the credentials carry a principal. This principal is converted but a
(uid,gid) pair, but altgroups will remain empty. Using Manage_Gids will
populate altgroups by querying getgrouplist().

This commit reuse deprecated EXPORT_OPTION_USE_PNFS flag
Result of getgroup() are kept in a cache (in fact a AVL tree).
Information stored in cache expires and are regularily renewed. Expiration is tunable.

A refcounter is used to avoid changing and freeing a grouplist
when it is currently in use by another thread.

This commit add two configuration items:
    - a boolean "Manage_Gids" (default = FALSE), this is a per-export option
    - an integer "Manage_Gids_Expiration" (default = 30), this is a global parameter
      in NFS_Core_Param block.

Signed-off-by: Philippe DENIEL <philippe.deniel@cea.fr>

(cherry picked from commit 886a2e5050e593a009c60410b860c1b9cce126e1)

Commit was split to make deprecate of pnfs flag in options separate
See commit 4ad7789a69343208518c581e46486ee226c4f559 for the rest of the
original change.

Signed-off-by: Jim Lieb <jlieb@panasas.com>
V2.1-dev_5

Signed-off-by: Jim Lieb <jlieb@panasas.com>