Millisecond timeout fixes.

Issues chased down and reported by Bruce Lucas
<bdlucas@us.ibm.com>, errors mine.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/Cache_inode/cache_inode_lru.c
	src/MainNFSD/nfs_rpc_dispatcher_thread.c

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Unstall the stallq.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/MainNFSD/nfs_rpc_dispatcher_thread.c

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Set dispatch parameters in the correct place.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Track minimal verf change.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Millisecond timeout fixes.

Issues chased down and reported by Bruce Lucas
<bdlucas@us.ibm.com>, errors mine.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/Cache_inode/cache_inode_lru.c
	src/MainNFSD/nfs_rpc_dispatcher_thread.c

Fixed timespec_addms bug.
Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/Cache_inode/cache_inode_lru.c
	src/include/wait_queue.h

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Merge branch 'ibm_next' of https://github.com/jvrao/nfs-ganesha into ibm_next-20121107
Use compiler bool.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/include/nfsv41.h
	src/tirpc.sh

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/FSAL/fsal_config.c
	src/Protocols/XDR/xdr_nfs23.c
	src/tirpc.sh

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Track bi-directional TI-RPC changes.

Main changes are:

* cl_auth removed from CLIENT, callers must provide auth when needed
* clnt_call interface widened, auth is now a parameter
* sigmask arguments removed from xprt lock calls

(Partial merge 1)

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/MainNFSD/nfs_rpc_callback.c
	src/MainNFSD/nfs_rpc_dispatcher_thread.c
	src/MainNFSD/nfs_worker_thread.c
	src/include/ganesha_rpc.h

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Use req->rq_aut, not deprecated xprt->xp_auth in export checks.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Track TI-RPC xp_getargs and xp_auth changes.

The short-lived svc_getargs2 (xp_getargs2) is now svc_getargs
(xp_getargs).  And xp_auth is removed from SVCXPRT.  Callers now
use the auth handle threaded on struct svc_req.

Conflicts:
	src/MainNFSD/nfs_rpc_dispatcher_thread.c
	src/support/exports.c
	src/tirpc.sh
    Track bi-directional TI-RPC changes.

    Main changes are:

    * cl_auth removed from CLIENT, callers must provide auth when needed
    * clnt_call interface widened, auth is now a parameter
    * sigmask arguments removed from xprt lock calls

    (Finish merge)

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Streamlined and Per-Connection DRCs (1.5.x)

This change provides a next-generation duplicate request
cache, based on design ideas from Philippe Deniel, myself,
Frank Filz, and, in particular, Eitan Ben-Amos, who argued
strongly for per-connection DRCs.

A DRC may be per-connection (TCP) or shared (UDP).  A TCP
DRC keeps a FIFO queue of expired requests, and can itself
be recycled (to support rebinds).

TCP DRCs are assigned by client address, and will be shared
if a client makes multiple connections from the same address.
A client which attempts ad-hoc trunking of NFSv3 or NFSv4
connections with XID consistency, may see correct results (if
any such client exists).

Duplicate request caching is performed for NFSv2, NFSv3, and
NFSv4.x, x<1.  While all NFS requests pass through the new
DRC layer, there is no caching overhead for NFSv4.1 requests,
which are threaded through the svc_req.

DRCs are a closed-form hashing variation of Ganesha
partitioned dictionaries.  The implementation is new, using
shared TI-RPC primitives.  A new retire-window heuristic is
used to assure that at most 'k' entries are retained in
cache, if no duplicate requests have been seen.  A system
which has seen duplicate requests may clear its retire window
will converge on a zero window after a corresponding number
of non-duplicate requests has been successfully processed.
Full checksumming support is implemented, using MurmurHash3)

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Remove LRU_List (1.5.x).

With new DRC, there are no clients of LRU_List.  This
change removes it from the codebase.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Compile fixes (stat_exporter_thread).

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Remove unused current_xid, gc_in_progress, nfs_req_timer_stop
when _USE_QUEUE_TIMER set.

Noticed by Frank Filz (review).

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
In nfs_start, local in_grace is unused (marked).

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Update config_samples (DRC).

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Parse DRC config parameters.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Missed.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Remove unused gc_thrid.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Remove reference to LRU/Makefile from configure.ac

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>