|
@@ -544,6 +544,12 @@ void conn_try_outdate_peer_async(struct drbd_connection *connection)
|
|
|
struct task_struct *opa;
|
|
|
|
|
|
kref_get(&connection->kref);
|
|
|
+ /* We may just have force_sig()'ed this thread
|
|
|
+ * to get it out of some blocking network function.
|
|
|
+ * Clear signals; otherwise kthread_run(), which internally uses
|
|
|
+ * wait_on_completion_killable(), will mistake our pending signal
|
|
|
+ * for a new fatal signal and fail. */
|
|
|
+ flush_signals(current);
|
|
|
opa = kthread_run(_try_outdate_peer_async, connection, "drbd_async_h");
|
|
|
if (IS_ERR(opa)) {
|
|
|
drbd_err(connection, "out of mem, failed to invoke fence-peer helper\n");
|