ceph: fix osdmap decoding when pools include (removed) snaps
Add missing pointer dereference (p is a void **).
Signed-off-by: Sage Weil <sage@newdream.net>
diff --git a/fs/ceph/osdmap.c b/fs/ceph/osdmap.c
index 34b5696..b83f269 100644
--- a/fs/ceph/osdmap.c
+++ b/fs/ceph/osdmap.c
@@ -529,8 +529,8 @@
ceph_decode_copy(p, &pi->v, sizeof(pi->v));
__insert_pg_pool(&map->pg_pools, pi);
calc_pg_masks(pi);
- p += le32_to_cpu(pi->v.num_snaps) * sizeof(u64);
- p += le32_to_cpu(pi->v.num_removed_snap_intervals)
+ *p += le32_to_cpu(pi->v.num_snaps) * sizeof(u64);
+ *p += le32_to_cpu(pi->v.num_removed_snap_intervals)
* sizeof(u64) * 2;
}
ceph_decode_32_safe(p, end, map->pool_max, bad);