Canceling lock may contain data being sent to OSTs. Change
find_cbdata iterator to take that into account.
Author: Vladimir Saveliev <vladimir.saveliev@oracle.com>
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I1b30fe13ee5303fe3b98e45ad969f5273c41d676
Reviewed-on: http://review.whamcloud.com/1460
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
static inline int return_if_equal(struct ldlm_lock *lock, void *data)
{
- if (lock->l_flags & LDLM_FL_CANCELING)
+ if ((lock->l_flags &
+ (LDLM_FL_CANCELING | LDLM_FL_DISCARD_DATA)) ==
+ (LDLM_FL_CANCELING | LDLM_FL_DISCARD_DATA))
return LDLM_ITER_CONTINUE;
return LDLM_ITER_STOP;
}