rbd: zero format 1 header structure earlier
authorAlex Elder <elder@inktank.com>
Mon, 6 May 2013 14:51:29 +0000 (09:51 -0500)
committerAlex Elder <elder@inktank.com>
Wed, 8 May 2013 22:00:28 +0000 (17:00 -0500)
The passed-in header structure is zeroed in rbd_header_from_disk().
Instead, have the caller do it.  Note that there are two callers,
rbd_dev_v1_refresh() and rbd_dev_v1_probe().  The latter already has
a zeroed header structure so zeroing it isn't necessary there.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
drivers/block/rbd.c

index a05b6e5..b0fbc38 100644 (file)
@@ -738,8 +738,6 @@ static int rbd_header_from_disk(struct rbd_image_header *header,
        size_t size;
        u32 i;
 
-       memset(header, 0, sizeof (*header));
-
        snap_count = le32_to_cpu(ondisk->snap_count);
 
        len = strnlen(ondisk->object_prefix, sizeof (ondisk->object_prefix));
@@ -3103,6 +3101,7 @@ static int rbd_dev_v1_refresh(struct rbd_device *rbd_dev)
        int ret;
        struct rbd_image_header h;
 
+       memset(&h, 0, sizeof (h));
        ret = rbd_read_header(rbd_dev, &h);
        if (ret < 0)
                return ret;