Canceling lock may contain data being sent to OSTs. Change
find_cbdata iterator to take that into account.
Change-Id: Ifdb21472780331cba452db68a52fd15bb6cbe35c
Author: Vladimir Saveliev <vladimir.saveliev@oracle.com>
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/1422
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Hudson
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.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;
}
local sleep=1
while [ "$WAIT" -lt "$MAX_WAIT" ]; do
sleep $sleep
+ ps -ef | grep mount
PID1=$(ps -ef | awk '{print $2}' | grep -w $MOUNT_PID)
PID2=$(ps -ef | awk '{print $2}' | grep -w $MOUNT_LUSTRE_PID)
echo PID1=$PID1
echo PID2=$PID2
[ -z "$PID1" -a -z "$PID2" ] && break
- echo "waiting for mount to finish ... "
WAIT=$(( WAIT + sleep))
+ echo "waited $WAIT seconds for mount to finish ... "
done
if [ "$WAIT" -eq "$MAX_WAIT" ]; then
error "MOUNT_PID $MOUNT_PID and \