Swallow up state async request thread

This is not tested beyond making sure it comes up and shuts down.  I
do not yet have an FSAL that supports asynchronous blocking locks, so
someone with one will need to go over this.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Add support for looper fridges

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Add 'woke' entry to fridgethr_context

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Support changing the wait time of a running fridge

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

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

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Clean up no longer used stuff

Specifically get rid of the pthread_ts for things that are now in a
fridge, and bits of data related to the removed flusher threads (that
were part of the removed content cache.)

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Clean up some no-longer-used parameters

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Add per-thread initialize/finalizer and data

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Let looper processes do their own waiting

This model avoids infecting the loopers with the fridge's state
machine logic.  The fridge parameters provide the fridge with a
function that will wake all sleepers, and the fridge provide a
function, fridgethr_you_should_break that the function should call
before sleeping or doing work (and return if it's true.)

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Swallow the worker threads

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

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

Add functionality to break down the inode cache, closing file
descriptors, and relasing state in the FSAL.  This is all done without
taking any locks so that the shutdown procedure doesn't hang in the
event of a thread being cancelled while holding a lock.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Fix a bug in VFS/PanFS

Missing semicolon.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Shut down and release FSAL resources

This is not done locklessly.  Since there's so much locking done in
the FSAL on release, I didn't want to mess with it.  I'd propose we
add a flag that we can pass to the release methods to bypass locking.

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

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