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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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


[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux