Dead code removal post- attribute rework

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Fix Lustre fsal build issue

Remnant from old api breaks builds on newly cleaned workspace

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Port and enable NFSv4 ACLs in new api

* Fix attributes references inside _USE_NFS4_ACL blocks

* Make typing for uid/gid agree and use stdlib typedefs.

* Cleanup XDR encode/decode for acls.

* Fix some other outsized defs in acl structures.

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Update CEPH methods to expanded api for req context

Missed in first pass to expanded ops ctx

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Update LUSTRE methods to expanded new api for ops context

Missed in initial expansion patch

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Export and handle methods vectors are now export private

Change ops vector allocation:

* fsal ops are fsal module private.  They can be overwritten
  at the module level at init time.

* export ops are instantiated export private.  They can be overwritten
  for that export at create_export time.

* handle ops, both obj and DS handles, are private to their export.
  They too can be overwritten at create_export time.

This enables the capability of tuning/configuring an export based on either
configuration parameters for that export or by probing the underlying f/s
and mounts to be exported.

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Use private ops vectors in VFS fsal

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Use private ops vectors in PROXY fsal

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Use private ops vectors in POSIX fsal

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Use private ops vectors in LUSTRE fsal

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Use private ops vectors in CEPH fsal

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Make NFS4 ACLs part of the standard build

Remove the #ifdef options

Signed-off-by: Jim Lieb <jlieb@panasas.com>
configure.ac enable_ipv6 was defined twice

unite the two different definitions into one

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Update README.TIRPC && configure_env.sh

[README.TIRPC]
README.TIRPC had stale --enable-foo in it's ./configure command.
Fix that by referencing to the configure_env.sh script instead.

[configure_env.sh]
I've put a more complete list of recommended ./configure switches.
I've also put the full list of choices for the user to choose, as
comments

Please any one that edits configure.ac please update
*configure_env.sh* to keep it uptodate as a document.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Bug in nfs4_op_getdevicelist found by --enable-strict-compile

Coming out of opt->getdevicelist we should copy the
res.cookieverf not what it points to. (It's not even a pointer)

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Enum fsal_fsinfo_options_t must not pollute the global namespace

Recent build breakage was caused by a conflict of one of
fsal_fsinfo_options_t enums with a local variable name.
This is because most of the names at fsal_fsinfo_options_t
are too generic and innocent and might be used elsewhere.

prepend all fsal_fsinfo_options_t names with an fso_
and change all occurrences.

In lines that where previously shorter than 81 chars, I have
formatted the code to not exceed 80 chars. Where lines were
already long they are now yet longer. (Or should I have
broken them)

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Remove last of #ifdef _PNFS_MDS

Both FATTR4_FS_LAYOUT_TYPES && FATTR4_LAYOUT_BLKSIZE, NFS4.1
f-attributes operations where protected by the old _PNFS_MDS
define, which is no longer enabled anywhere. (It used to be
controlled by ./configure). Which means they where always
off.

This did not affect any pNFS functionality because
FATTR4_FS_LAYOUT_TYPES is never called by Linux Client, and
FATTR4_LAYOUT_BLKSIZE is only called by the blocks-layout-driver.

I have decided to always *enable* them both. The defaults, if not
supported by FSAL, will return the proper "not-supported" and
there will be no harms done, to clients.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
.gitignore: Give some love to .gitignore

Removed src/.gitignore no need for two files, it's
just confusing.

Put a bit of order inside .gitignore, dirs first, then
files.

Added missing:
	linuxbox-ceph/
	src/libtirpc/
	*.kdevelop*
	*.kdevses
	tags

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
fsal_pnfs: Add fsal_recall_data to fsal_layoutreturn_arg

Soon when we'll enable layout_recalls, the satisfaction of a recall
is communicated to a fsal through this new member, which is a cookie
supplied by the fsal invoking the recall.

We might as well add it now, since I'm working on this in my
Kernel version.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Acked-by: Adam C. Emerson <aemerson@linuxbox.com>
Make fsal_pnfs.h more independent

I'm using fsal_pnfs.h outside of Ganesha for IOCTL API
with Kernel. The only needed common definitions are in fsal_pnfs.h.

So I turned around the pnfs_common.h and fsal_pnfs.h dependency
making fsal_pnfs.h as stand alone and pnfs_common.h including the former.

Also I have removed config.h #include from fsal_pnfs.h. It compiles just
fine without it and makes my life easier.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Acked-by: Adam C. Emerson <aemerson@linuxbox.com>