[sheepdog] [PATCH 2/2] collie: show 'auto-recovery' status for 'cluster info'

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Tue May 21 05:47:37 CEST 2013


At Tue, 21 May 2013 10:55:20 +0800,
Liu Yuan wrote:
> 
> On 05/21/2013 01:56 AM, MORITA Kazutaka wrote:
> > +	uint16_t nr_nodes;
> > +	uint8_t disable_recovery;
> > +	uint8_t __pad;
> 
> This will segfault the collie, I am not sure why. But
> 
> uint8_t disable_recovery;
> uint8_t __pad[3];

I think there is a bug that sheepdog cannot work if we change the size
of epoch_log.  I'll dig into it.

> 
> works. I am wondering to prevent GCC madness of choosing the structure
> length, should we better off adding '__packed' explicitly to all the on
> the wire structure?

GCC places the fields so that they can be accessed efficiently, I
think.  If possible, I want to move on without __packed.  IMHO, what
we are really missing is the automatic check mechanism of the wire
structure alignment.

Thanks,

Kazutaka



More information about the sheepdog mailing list