Browse Source

rbd: zero format 1 header structure earlier

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>
Alex Elder 12 years ago
parent
commit
46578dcdca
1 changed files with 1 additions and 2 deletions
  1. 1 2
      drivers/block/rbd.c

+ 1 - 2
drivers/block/rbd.c

@@ -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;