[sheepdog] [PATCH 3/3] sheep: split notification messages into	two queues
    MORITA Kazutaka 
    morita.kazutaka at lab.ntt.co.jp
       
    Thu Aug 30 05:20:23 CEST 2012
    
    
  
At Thu, 30 Aug 2012 10:55:26 +0800,
Liu Yuan wrote:
> 
> On 08/30/2012 08:36 AM, MORITA Kazutaka wrote:
> > Currently, the corosync driver uses two queues, confchg_list and
> > notify_list.  However, this causes problems because some messages
> > (e.g. format, shutdown, cluster snapshot, ...) needs to be ordered
> > with confchg events.
> > 
> > This patch splits multicast messages into two queues, block_list and
> > nonblock_list.  All block messages (e.g. vdi creation, etc) are linked
> > into block_list queue, and other notification messages and confchg
> > events are linked into nonblock_list.
> 
> I think the complete fix is to add {format, shutdown, cluster snapshot}
> messages to confchg list, how do you think of it?
With your approach, we need to let the cluster driver know which
messages must be ordered with confchg events.  Adding all notified
messages to confchg (nonblocking) list looks simpler and easier to
understand to me.  The reason we introduced two queues is that
blocking messages which have process_work() block all cluster events,
so I think this patch also works correctly.
Thanks,
Kazutaka
    
    
More information about the sheepdog
mailing list