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

Nick Liebmann nickdrbd at alfiecam.co.uk
Sun Jun 14 18:56:39 CEST 2009

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


Hi,

As mentioned in my previous mail, all seems to be work fine. I have run 
the tests you asked, and it seems everything is not quite perfect, but 
perhaps good enough for me at the moment. I would be happy to test any 
further fixes, however.

nasty:~# drbdsetup /dev/drbd0 show 
disk {
    size                0s _is_default; # bytes
    on-io-error         pass_on _is_default;
    fencing             dont-care _is_default;
}
_this_host {
    device            minor 0;
    disk            "/dev/sda7";
    meta-disk        internal;
}
# (5376)      unknown tag = (integer) 8402432     [len: 384]
# Found unknown tags, you should update your
# userland tools

This looks like an alignment error

The output of the 'events' call looks fine.


Nick


Philipp Reisner wrote:
> On Thursday 11 June 2009 12:02:41 Nick wrote:
>
> [...]
>   
>> -- drbdsetup.c.orig    2009-06-11 10:51:08.000000000 +0100
>> +++ drbdsetup.c    2009-06-11 10:53:43.000000000 +0100
>> @@ -549,8 +549,8 @@
>>         fprintf(stderr, "Tag list size exceeded!\n");
>>         exit(20);
>>     }
>> -    *tl->tag_list_cpos++ = tag;
>> -    *tl->tag_list_cpos++ = data_len;
>> +    memcpy(tl->tag_list_cpos++, (short*)&tag, sizeof(tl->tag_list_cpos));
>> +    memcpy(tl->tag_list_cpos++, (short*)&data_len,
>> sizeof(tl->tag_list_cpos));
>>     memcpy(tl->tag_list_cpos,data,data_len);
>>     tl->tag_list_cpos = (unsigned short*)((char*)tl->tag_list_cpos +
>> data_len);
>> }
>>
>>     
>
> Hi Nick,
>
> I do not understand why that patch to the userland fixes the issue.
> There are similar same unaligned accesses in the kernel part.
>
> I have a patch attached, that should fix the complete issue, although
> I can not test it...
>
> When you test it, please also test the netlink packets from kernel 
> to userspace as well. I.e. drbdsetup /dev/drbd0 events, 
> drbdsetup /dev/drbd0 show, etc...
>
> -phil
>   



More information about the drbd-user mailing list