[Openais] [openais] [whitetank] - Patch totemsrp so orf_token_mcast will not fall in case message_item->iov_len == IOVLEN

Steven Dake sdake at redhat.com
Tue Oct 27 16:56:59 PDT 2009


On Tue, 2009-10-27 at 18:42 -0500, Ryan O'Hara wrote:
> On Tue, Oct 27, 2009 at 06:18:44PM +0100, Jan Friesse wrote:
> > See patch. I hope this will fix  
> > https://bugzilla.redhat.com/show_bug.cgi?id=525280.
> >
> > Regards,
> >   Honza
> >
> 
> Do we really need SORT_QUEUE_ITEM_MAXIOVS? Perhaps using "MAXIOVS + 1"
> in the EVT code is sufficient.
> 

My general response to this is that if we are running into the MAXIOVS
constraint on the data structure, increasing MAXIOVS by 1 is not going
to solve the problem (although it may hide this fault condition).

The use of an extra define as you point out is unnecessary.

Regards
-steve

> Ryan
> 
> 
> > diff --git a/branches/whitetank/exec/totemsrp.c b/branches/whitetank/exec/totemsrp.c
> > index c11a552..c5a74e8 100644
> > --- a/branches/whitetank/exec/totemsrp.c
> > +++ b/branches/whitetank/exec/totemsrp.c
> > @@ -87,6 +87,7 @@
> >  #define RETRANS_MESSAGE_QUEUE_SIZE_MAX		500 /* allow 500 messages to be queued */
> >  #define RECEIVED_MESSAGE_QUEUE_SIZE_MAX		500 /* allow 500 messages to be queued */
> >  #define MAXIOVS					5	
> > +#define SORT_QUEUE_ITEM_MAXIOVS			MAXIOVS + 1
> >  #define RETRANSMIT_ENTRIES_MAX			30
> >  #define TOKEN_SIZE_MAX				64000 /* bytes */
> >  
> > @@ -278,7 +279,7 @@ struct message_item {
> >  };
> >  
> >  struct sort_queue_item {
> > -	struct iovec iovec[MAXIOVS];
> > +	struct iovec iovec[SORT_QUEUE_ITEM_MAXIOVS];
> >  	int iov_len;
> >  };
> >  
> > @@ -1916,7 +1917,7 @@ static void memb_state_recovery_enter (
> >  	strcat (is_originated, seqno_string_hex);
> >  	sort_queue_item = ptr;
> >  	assert (sort_queue_item->iov_len > 0);
> > -	assert (sort_queue_item->iov_len <= MAXIOVS);
> > +	assert (sort_queue_item->iov_len <= SORT_QUEUE_ITEM_MAXIOVS);
> >  	messages_originated++;
> >  	memset (&message_item, 0, sizeof (struct message_item));
> >  // TODO	 LEAK
> 
> > _______________________________________________
> > Openais mailing list
> > Openais at lists.linux-foundation.org
> > https://lists.linux-foundation.org/mailman/listinfo/openais
> _______________________________________________
> Openais mailing list
> Openais at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/openais



More information about the Openais mailing list