Re: [PATCH 04/47] block-rbd: Refactor two calls for memory allocations in rbd_dev_image_id()

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

 



>> @@ -5833,7 +5833,6 @@ again:
>>  static int rbd_dev_image_id(struct rbd_device *rbd_dev)
>>  {
>>         int ret;
>> -       size_t size;
>>         char *object_name;
>>         void *response;
>>         char *image_id;
>> @@ -5854,17 +5853,16 @@ static int rbd_dev_image_id(struct rbd_device *rbd_dev)
>>          * First, see if the format 2 image id file exists, and if
>>          * so, get the image's persistent id from it.
>>          */
>> -       size = sizeof (RBD_ID_PREFIX) + strlen(rbd_dev->spec->image_name);
>> -       object_name = kmalloc(size, GFP_NOIO);
>> +       object_name = kmalloc(sizeof(RBD_ID_PREFIX)
>> +                             + strlen(rbd_dev->spec->image_name),
>> +                             GFP_NOIO);
>>         if (!object_name)
>>                 return -ENOMEM;
>>         sprintf(object_name, "%s%s", RBD_ID_PREFIX, rbd_dev->spec->image_name);
>>         dout("rbd id object name is %s\n", object_name);
>>
>>         /* Response will be an encoded string, which includes a length */
>> -
>> -       size = sizeof (__le32) + RBD_IMAGE_ID_LEN_MAX;
>> -       response = kzalloc(size, GFP_NOIO);
>> +       response = kzalloc(sizeof(__le32) + RBD_IMAGE_ID_LEN_MAX, GFP_NOIO);
>>         if (!response) {
>>                 ret = -ENOMEM;
>>                 goto out;
…
> How is this any better?

I find it useful to omit the local variable "size" here.


> If anything, it makes the first kmalloc() call slightly less readable.

I got an other impression. The refactored function call did not fit into a single line
because of a well-known length limitation.

Does the kzalloc() call look a bit nicer for you now?

Regards,
Markus
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux