[sheepdog] [PATCH devel] journal: suppress compile errors

Hitoshi Mitake mitake.hitoshi at gmail.com
Wed Apr 3 08:38:42 CEST 2013


At Wed, 03 Apr 2013 13:49:49 +0800,
Liu Yuan wrote:
> 
> On 04/03/2013 01:38 PM, Liu Yuan wrote:
> > On 04/03/2013 01:23 PM, Hitoshi Mitake wrote:
> >> At Wed, 03 Apr 2013 13:18:40 +0800,
> >> Liu Yuan wrote:
> >>>
> >>> On 04/03/2013 01:15 PM, Hitoshi Mitake wrote:
> >>>> Let's keep the devel branch build ready.
> >>>>
> >>>> Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
> >>>> ---
> >>>>  sheep/journal.c |    6 ++++--
> >>>>  1 files changed, 4 insertions(+), 2 deletions(-)
> >>>>
> >>>> diff --git a/sheep/journal.c b/sheep/journal.c
> >>>> index eccd6b6..47a0814 100644
> >>>> --- a/sheep/journal.c
> >>>> +++ b/sheep/journal.c
> >>>> @@ -395,9 +395,10 @@ int journal_write_store(uint64_t oid, const char *buf, size_t size,
> >>>>  		.flag = JF_STORE,
> >>>>  		.offset = offset,
> >>>>  		.size = size,
> >>>> -		.oid = oid,
> >>>>  		.create = create,
> >>>>  	};
> >>>> +
> >>>> +	jd.oid = oid;
> >>>>  	return journal_file_write(&jd, buf);
> >>>>  }
> >>>>  
> >>>> @@ -408,9 +409,10 @@ int journal_write_epoch(const char *buf, size_t size, uint32_t epoch)
> >>>>  		.flag = JF_EPOCH,
> >>>>  		.offset = 0,
> >>>>  		.size = size,
> >>>> -		.epoch = epoch,
> >>>>  		.create = true,
> >>>>  	};
> >>>> +
> >>>> +	jd.epoch = epoch;
> >>>>  	return journal_file_write(&jd, buf);
> >>>>  }
> >>>>  
> >>>>
> >>>
> >>> What is your GCC version? I don't have this build error.
> >>>
> >>
> >> My gcc is 4.4.5 (Debian 4.4.5-8). What's yours?
> >>
> > 
> > Mine is 4.6.3, but yours is pretty new to support unnamed filed within
> > union (http://gcc.gnu.org/onlinedocs/gcc/Unnamed-Fields.html)
> > 
> > I guess add '-std=c99' to gcc would solve the problem. Or simply we
> > should call c99(a wrapper script) instead of gcc.
> > 
> 
> I googled it and seems that gcc < 4.6 will not handle unnamed fields
> initialization correctly.
> 
> Maybe your approach is the only way to be all gcc compatible.

I see. Could you apply this patch on the devel branch?

Thanks,
Hitoshi



More information about the sheepdog mailing list