libfuse: add missing INIT flags

Add missing flags that userspace derived from the protocol version number.  This
makes the protocol more flexible.
libfuse: Add '[no_]auto_inval_data' mount option

Several caching logic changes have been made on the kernel side
to better support network-based fuse filesystems. These include
kernel side mtime checking and read path cache revalidation. The
new caching logic is enabled through the FUSE_AUTO_INVAL_DATA
init flag. Export this to the user via the '[no_]auto_inval_data'
mount option.

Signed-off-by: Feng Shuo <steve.shuo.feng@gmail.com>
fuse_kernel.h: clean includes

Use <linux/types.h> for linux and define types used for other operating systems
using <stdint.h> types.
libfuse: add readdirplus support in fuse_lowlevel_ops

This patch implements readdirplus support in FUSE usersapce. It adds
a new fuse lowlevel operations fuse_lowleve_ops::readdir_plus,
corespoding mount options and helper functions to maintain buffer.

[From: Eric Wong <normalperson@yhbt.net>]

This makes our terminology consistent with NFS and
our kernel module, as well as reducing user/developer
confusion in the command-line.

Note: I'm keeping "fuse_add_direntry_plus" since that is
less standardized in its use than "readdirplus" for now.

Signed-off-by: Feng Shuo <steve.shuo.feng@gmail.com>
libfuse: add poll_events to fuse_file_info

Make requested poll events available to the filesystem.  If the requested
eventsare not available, then this field is zero.
libfuse-fix-fs-cleanup

This fixes a segmentation fault if command-line option parsing fails during
initialization.

Reported by Eric Wong
libfuse: allow disabling adaptive readdirplus

This switches the -o no_readdirplus option to a tristate
string: -o readdirplus=(yes|no|auto)

Telling the kernel to always use readdirplus is beneficial to
filesystems (e.g. GlusterFS) where the cost to perform readdir
and readdirplus are identical.

The default remains "auto" (if supported).
Revert "Add '[no_]auto_inval_data' mount option."

This reverts commit a4e145c0720fd4c1c11d7c1eb25565dffa6daaa3.
Merge branch 'master' of git://fuse.git.sourceforge.net/gitroot/fuse/fuse