diff options
author | Sage Weil <sage@newdream.net> | 2010-03-01 14:50:05 -0800 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-03-01 15:28:00 -0800 |
commit | e53a8fd773065628b24605b289a9a40ee4a35d83 (patch) | |
tree | 7e590c04181eb8d4c9f8cc0e038853acc870f3f3 /fs/ceph/osdmap.c | |
parent | 195d3ce2cc9a8ec69827f6369c41b269345b9988 (diff) | |
download | kernel_goldelico_gta04-e53a8fd773065628b24605b289a9a40ee4a35d83.zip kernel_goldelico_gta04-e53a8fd773065628b24605b289a9a40ee4a35d83.tar.gz kernel_goldelico_gta04-e53a8fd773065628b24605b289a9a40ee4a35d83.tar.bz2 |
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>
Diffstat (limited to 'fs/ceph/osdmap.c')
-rw-r--r-- | fs/ceph/osdmap.c | 4 |
1 files changed, 2 insertions, 2 deletions
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 @@ struct ceph_osdmap *osdmap_decode(void **p, void *end) 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); |