b=17026
i=shadow
i=oleg
Description: (ptllnd_peer.c:557:kptllnd_peer_check_sends()) ASSERTION(!in_interrupt()) failed
Details: fix stack overflow in the distributed lock manager by defering export
eviction after a failed ast to the elt thread instead of handling
it in the dlm interpret routine.
Details : In case of memory pressure, list_del() can be called twice on
req->rq_history_list, causing a kernel oops.
+Severity : normal
+Bugzilla : 17026
+Description: (ptllnd_peer.c:557:kptllnd_peer_check_sends()) ASSERTION(!in_interrupt()) failed
+Details : fix stack overflow in the distributed lock manager by defering export
+ eviction after a failed ast to the elt thread instead of handling
+ it in the dlm interpret routine.
+
--------------------------------------------------------------------------------
2007-08-10 Cluster File Systems, Inc. <info@clusterfs.com>
if (obd_dump_on_timeout)
libcfs_debug_dumplog();
+#ifdef __KERNEL__
+ spin_lock_bh(&waiting_locks_spinlock);
+ list_add(&lock->l_pending_chain, &expired_lock_thread.elt_expired_locks);
+ cfs_waitq_signal(&expired_lock_thread.elt_waitq);
+ spin_unlock_bh(&waiting_locks_spinlock);
+#else
class_fail_export(lock->l_export);
+#endif
}
static int ldlm_handle_ast_error(struct ldlm_lock *lock,