diff options
author | Mark Brown <broonie@kernel.org> | 2014-10-10 12:55:50 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2014-10-10 12:55:50 +0100 |
commit | f8ba86b7fbe99740c82a7442a0c94e7584dd02bf (patch) | |
tree | bfe82e7b0c48e50b34a0d3cfdd0c02dd8b7737f4 /drivers/block/drbd/drbd_nl.c | |
parent | 0ee8bb9c4864ee826e6c669f230562cd0fed8722 (diff) | |
parent | f41c15f2c9a00489735036846ec7e474e52b14a6 (diff) |
Merge tag 'v3.10.57' into linux-linaro-lsk
This is the 3.10.57 stable release
Diffstat (limited to 'drivers/block/drbd/drbd_nl.c')
-rw-r--r-- | drivers/block/drbd/drbd_nl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c index 9e3f441e7e84..9c37f3d896a2 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c @@ -514,6 +514,12 @@ void conn_try_outdate_peer_async(struct drbd_tconn *tconn) struct task_struct *opa; kref_get(&tconn->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, tconn, "drbd_async_h"); if (IS_ERR(opa)) { conn_err(tconn, "out of mem, failed to invoke fence-peer helper\n"); |