[Drbd-dev] stonith-related regression introduced around kernel 3.13, with 3.15.3 still affected

Lars Ellenberg lars.ellenberg at linbit.com
Fri Jul 4 13:42:57 CEST 2014


On Thu, Jul 03, 2014 at 07:49:09PM +0200, Mariusz Mazur wrote:
> On Thu of July 3 2014, Lars Ellenberg wrote:
> 
> > Would you please try this patch:
> > 
> > diff --git a/drbd/drbd_nl.c b/drbd/drbd_nl.c
> > index 9e6adaa..88f480c 100644
> > --- a/drbd/drbd_nl.c
> > +++ b/drbd/drbd_nl.c
> > @@ -586,6 +586,7 @@ void conn_try_outdate_peer_async(struct drbd_connection
> > *connection) struct task_struct *opa;
> > 
> >  	kref_get(&connection->kref);
> > +	flush_pending_signals();
> >  	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");
> 
> There's no such function in the kernel.

Yeah, sorry, typo, leave off the pending-.

It's flush_signals(current);

diff --git a/drbd/drbd_nl.c b/drbd/drbd_nl.c
index 9e6adaa..d8b83d7 100644
--- a/drbd/drbd_nl.c
+++ b/drbd/drbd_nl.c
@@ -586,6 +586,7 @@ void conn_try_outdate_peer_async(struct drbd_connection *connection)
 	struct task_struct *opa;
 
 	kref_get(&connection->kref);
+	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");

-- 
: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.


More information about the drbd-dev mailing list