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 |