LU-3889 osc: Allow lock to be canceled at ENQ time

A cl_lock can be canceled when it's in CLS_ENQUEUED state.
We can't unuse this kind of lock in lov_lock_unuse() because
it will bring this lock into CLS_NEW state and then confuse
osc_lock_upcall().

Add a regression test case by Alexander Boyko.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Alexander Boyko <alexander_boyko@xyratex.com>
Change-Id: I2acc7fd0176280062eb0d25dbe929b5d0144db50
Reviewed-on: http://review.whamcloud.com/8405
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2850 ptlrpc: handle sunrpc_cache_pipe_upcall change

Currently the ptlrpc GSS code has a wrapper to call
sunrpc_cache_pipe_upcall which takes three arguments.
The cache_request argument is already stored in the
cache_detail structure which is passed in already. So
for 3.8 the cache_request was removed with commit
21cd1254d3402a72927ed744e8ac1a7cf532f1ea. This patch
enabled Lustre to detect this change and run on newer
kernels.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I2be613d22aab5a0b8aa207a86e99fc63132affa0
Reviewed-on: http://review.whamcloud.com/8396
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Peng Tao <bergwolf@gmail.com>
Reviewed-by: Thomas Stibor <thomas@stibor.net>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>