rbd: Fix ceph_snap_context size calculation
authorYan, Zheng <zheng.z.yan@intel.com>
Wed, 6 Jun 2012 14:15:33 +0000 (09:15 -0500)
committerSage Weil <sage@inktank.com>
Wed, 18 Jul 2012 04:30:19 +0000 (21:30 -0700)
ceph_snap_context->snaps is an u64 array

Signed-off-by: Zheng Yan <zheng.z.yan@intel.com>
Reviewed-by: Alex Elder <elder@inktank.com>
(cherry picked from commit f9f9a1904467816452fc70740165030e84c2c659)

drivers/block/rbd.c

index 65665c9..8b9c173 100644 (file)
@@ -499,7 +499,7 @@ static int rbd_header_from_disk(struct rbd_image_header *header,
                         / sizeof (*ondisk))
                return -EINVAL;
        header->snapc = kmalloc(sizeof(struct ceph_snap_context) +
-                               snap_count * sizeof (*ondisk),
+                               snap_count * sizeof(u64),
                                gfp_flags);
        if (!header->snapc)
                return -ENOMEM;