[dm-devel] [PATCH 4/6] libmpathpersist: fix byte swapping for big endian systems
Bart Van Assche
bart.vanassche at wdc.com
Fri Jun 22 23:48:39 UTC 2018
On 06/22/18 16:27, Martin Wilck wrote:
> On Fri, 2018-06-22 at 16:19 -0700, Bart Van Assche wrote:
>> On 06/22/18 16:16, Martin Wilck wrote:
>>> - sa_key = 0;
>>> - for (i = 0; i < 8; ++i){
>>> - if (i > 0)
>>> - sa_key <<= 8;
>>> - sa_key |= paramp->sa_key[i];
>>> - }
>>> + sa_key = be64_to_cpu(*(uint64_t *)¶mp-
>>>> sa_key[0]);
>>
>> Have you considered to use get_unaligned_be64() instead of the above
>> construct with casts?
>
> Yes, I did. I opted for this construct for patch brevity (and
> admittedly, lazyness), because get_unaligned_be64() doesn't exist yet.
> I can change that of course if you insist.
Adding an implementation of get_unaligned_be64() and introducing it in
the above code would be highly appreciated. I think that will improve
readability.
Thanks,
Bart.
More information about the dm-devel
mailing list