lkml.org 
[lkml]   [2016]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 04/47] block-rbd: Refactor two calls for memory allocations in rbd_dev_image_id()
    On Mon, Sep 12, 2016 at 8:45 PM, SF Markus Elfring
    <elfring@users.sourceforge.net> wrote:
    > From: Markus Elfring <elfring@users.sourceforge.net>
    > Date: Sun, 11 Sep 2016 14:48:41 +0200
    >
    > * Pass the sizes for memory allocations to the corresponding functions
    > directly without storing the calculated values in an
    > intermediate variable.
    >
    > * Delete the local variable "size" which became unnecessary with
    > this refactoring.
    >
    > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    > ---
    > drivers/block/rbd.c | 10 ++++------
    > 1 file changed, 4 insertions(+), 6 deletions(-)
    >
    > diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
    > index d61a066..c1da844 100644
    > --- a/drivers/block/rbd.c
    > +++ b/drivers/block/rbd.c
    > @@ -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;
    > --
    > 2.10.0
    >

    How is this any better? If anything, it makes the first kmalloc() call
    slightly less readable.

    Thanks,

    Ilya

    \
     
     \ /
      Last update: 2016-09-17 09:59    [W:3.691 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site