ceph: fix incremental osdmap pg_temp decoding bug
An incremental pg_temp wasn't being decoded properly (wrong bound on for loop). Also remove unused local variable, while we're at it. Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
parent
30dc6381bb
commit
7067f797b8
@ -538,7 +538,6 @@ struct ceph_osdmap *osdmap_apply_incremental(void **p, void *end,
|
|||||||
struct ceph_osdmap *map,
|
struct ceph_osdmap *map,
|
||||||
struct ceph_messenger *msgr)
|
struct ceph_messenger *msgr)
|
||||||
{
|
{
|
||||||
struct ceph_osdmap *newmap = map;
|
|
||||||
struct crush_map *newcrush = NULL;
|
struct crush_map *newcrush = NULL;
|
||||||
struct ceph_fsid fsid;
|
struct ceph_fsid fsid;
|
||||||
u32 epoch = 0;
|
u32 epoch = 0;
|
||||||
@ -701,7 +700,7 @@ struct ceph_osdmap *osdmap_apply_incremental(void **p, void *end,
|
|||||||
}
|
}
|
||||||
pg->pgid = pgid;
|
pg->pgid = pgid;
|
||||||
pg->len = pglen;
|
pg->len = pglen;
|
||||||
for (j = 0; j < len; j++)
|
for (j = 0; j < pglen; j++)
|
||||||
pg->osds[j] = ceph_decode_32(p);
|
pg->osds[j] = ceph_decode_32(p);
|
||||||
err = __insert_pg_mapping(pg, &map->pg_temp);
|
err = __insert_pg_mapping(pg, &map->pg_temp);
|
||||||
if (err)
|
if (err)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user