Re: [PATCH v1] : Switch to use new generic UUID API

From: Javier GonzÃlez
Date: Thu Jan 24 2019 - 08:45:33 EST



> On 24 Jan 2019, at 14.36, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
>
> On Thu, Jan 24, 2019 at 3:19 PM Javier GonzÃlez <javier@xxxxxxxxxxx> wrote:
>>> On 24 Jan 2019, at 13.16, Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>>> On Mon, Jan 21, 2019 at 09:47:32AM +0100, Christoph Hellwig wrote:
>>>> On Thu, Jan 10, 2019 at 04:30:51PM +0200, Andy Shevchenko wrote:
>>>>> There are new types and helpers that are supposed to be used in new code.
>>>>>
>>>>> As a preparation to get rid of legacy types and API functions do
>>>>> the conversion here.
>>>>
>>>> This seems to miss a "lightnvm" in the subject line.
>>>>
>>>>> static inline void pblk_setup_uuid(struct pblk *pblk)
>>>>> {
>>>>> + guid_gen((guid_t *)&pblk->instance_uuid);
>>>>> }
>>>>
>>>> I think we can just kill this wrapper.
>>>>
>>>> But more importantly the instance_uuid fied, and the header.uuid one
>>>> it is copied from should be turned into an actual guid_t, the memcpys
>>>> and memcmps should also be replaced with the proper UUID API.
>>>
>>> header.uuid is defined using __u8 type, I'm not sure we can use guid_t there.
>>
>> We can turn it into a guid_t and bump the minor version.
>
> It's not so easy. __uXX types are dedicated for external APIs. guid_t
> is kernel internal type disregard of (still) presence some uapi bits.
> So, the question is those __uXX types in the driver definition is a
> simple mistake, (weird) style decision, or what?
>

I would define it as a mistake and I think it is worth fixing it. At the
moment we are only using this uuid for recovery purposes, to discard
data from a different pblk instance, so there should not be a big impact
outside of pblk itself. Am I missing something?

Javier

Attachment: signature.asc
Description: Message signed with OpenPGP