[DRBD-user] DRBD - on ARM (armel)

Nick nickdrbd at alfiecam.co.uk
Thu Jun 11 17:07:48 CEST 2009


Unfortunately this gives a compile error..., and as it turns out, 
according to

http://www.bristol.ac.uk/acrc/RedHat/rhel-gcc-en-4/invoking-gcc.html

This options is not available for the ARM CPU.

Nick


Lars Ellenberg wrote:
> On Thu, Jun 11, 2009 at 11:02:41AM +0100, Nick wrote:
>   
>> Please excuse my previous email with no details.... here is a patch that 
>> addresses the first issue I am seeing on the ARM platform.
>>
>> This addresses the issue of the 'Unknown tag' error. As you suspected 
>> this is an alignment issue, if the data (in my case /dev/loop0 + NULL 
>> byte) has an odd size, the previous code failed to store the tag, for 
>> the subsequent parameter, due to the data pointer not falling on a word 
>> boundary. This fixes it for ARM, and it continues to work on i386, 
>> however I am not sure about other platforms, perhaps this would be an 
>> issue on big endian platforms, since the add_tag function takes the tag 
>> and size as an int, rather than a short.
>>
>> Hopefully this will be the only issue I have!
>>     
>
> Thanks.
> There may be more similar places in the code.
>
> Yes, probably the tag and size arguments should be short, not int,
> or your fix would break on big endian.
>
> please try instead of your fix to add to CFLAGS in Makefile:
> -drbdsetup drbdmeta: CFLAGS += -fno-strict-aliasing
> +drbdsetup drbdmeta: CFLAGS += -fno-strict-aliasing -mno-strict-align
>
> if that works, we can just leave it to the compiler.
>
>   



More information about the drbd-user mailing list