diff options
author | David S. Miller <davem@davemloft.net> | 2014-08-06 05:57:18 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-08-06 05:57:18 +0400 |
commit | e9011d086674caeedb0ffb6eb5b8bc5920821df3 (patch) | |
tree | ed5d06353d8dc1fa5f6da349808f8345ca2291a5 /drivers/block/drbd/drbd_nl.c | |
parent | cfcfe22256d5a8a14924a1145d56017b043b554f (diff) | |
parent | c78f77e20d2ba5d4d5e478e85a6fb42556893e2d (diff) | |
download | linux-e9011d086674caeedb0ffb6eb5b8bc5920821df3.tar.xz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Conflicts:
arch/sparc/mm/init_64.c
Conflict was simple non-overlapping additions.
Signed-off-by: David S. Miller <davem@davemloft.net>
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 1b35c45c92b7..3f2e16738080 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c @@ -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"); |