Remove unused supported_attributes field from struct attrlist

Signed-off-by: Amit Dror <amitd@infinidat.com>
(cherry picked from commit a2c548a1476153554e16b92dc5aa46aca2b4ce1c)

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Implement slot cache for export_mgr.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Update CIH slot cache only on AVL hits.

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

Get rid of the FSAL upcall thread and make all functions synchronous.
This seems to work much better for the cases for which we are using
FSAL_UP, and not splitting the functions into two halves removes race
conditions.

This does mean that no FSAL_UP method may be called from an FSAL
method.  If you need to do so, then employ something like the delayed
executor or a thread fridge.  (Or pass a message to your FSAL's own
listener thread.)

To reiterate, if you call layoutrecall from your layoutget method,
really, really horrible things will happen.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Tweak initiate_recall to return false on recall error

This gives us an easier way to return the cap without risking deadlock.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Let FSAL be picky about clients in layoutrecall

Add support to recall one client's layouts or all but one client's
layouts.

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Fix potential deadlock between CB_LAYOUTRECALL and LAYOUTCOMMIT

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Fix error return behavior

* Don't call into FSAL's layoutreturn function if called by its layoutrecall trigger
* Pass the clientid in on revocation returns
* Only set the initial call time on the initial call (Oops.)

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Changes to 15to20-porting.txt to reflect this push.

Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>
Merge remote-tracking branch 'linuxbox2/next' into merge_next

dev_27 merge

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

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
Signed-off-by: Jim Lieb <jlieb@panasas.com>
Merge remote-tracking branch 'jv_github/jv_dev_26_merge' into merge_next

Had to strip out old code zapped by fe2dddf8285a21b that didn't
merge propely.

Conflicts:
	src/Cache_inode/cache_inode_rdwr.c

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Added fsal_obj_handle_uninit(), code dedup

Signed-off-by: Amit Dror <amitd@infinidat.com>
(cherry picked from commit 3f7814461817a714f5de52f4ee46802173dea651)

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Fix LRU reclaim fault.

The root cause of the fault was improper decrement of the
entry refcnt to 0 in lru_reap_impl.

Found by Dominique Martinet <dominique.martinet@cea.fr>.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Fix merge litter and typo induced compile errors

Signed-off-by: Jim Lieb <jlieb@panasas.com>
Fix LRU reclaim fault.

The root cause of the fault was improper decrement of the
entry refcnt to 0 in lru_reap_impl.

Found by Dominique Martinet <dominique.martinet@cea.fr>.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
(cherry picked from commit 31d7c03ad2a069793dc782280853bc5156739e6f)

Signed-off-by: Jim Lieb <jlieb@panasas.com>
But return entry ref if we -dont- reclaim.

Use cache_inode_lru_unref to release.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Replace unchecked decref with cache_inode_lru_unref (2).

The former may be used only if it is assured that the entry
refcnt could not reach 0.  Thus unchecked decref appears safe in
dec_pin_ref, but not elsewhere.

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

An entry may not be created in any other unit.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Merge remote-tracking branch 'linuxbox2/next-lru' into merge_next

Fix for LRU fault going back to dev_25 or earlier