crush: decode and initialize chooseleaf_vary_r
Commit e2b149cc4b
("crush: add chooseleaf_vary_r tunable") added the
crush_map::chooseleaf_vary_r field but missed the decode part. This
lead to misdirected requests caused by incorrect raw crush mapping
sets.
Fixes: http://tracker.ceph.com/issues/8226
Reported-and-Tested-by: Dmitry Smirnov <onlyjob@member.fsf.org>
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
This commit is contained in:
Родитель
178eda29ca
Коммит
f140662f35
|
@ -329,6 +329,11 @@ static struct crush_map *crush_decode(void *pbyval, void *end)
|
|||
dout("crush decode tunable chooseleaf_descend_once = %d",
|
||||
c->chooseleaf_descend_once);
|
||||
|
||||
ceph_decode_need(p, end, sizeof(u8), done);
|
||||
c->chooseleaf_vary_r = ceph_decode_8(p);
|
||||
dout("crush decode tunable chooseleaf_vary_r = %d",
|
||||
c->chooseleaf_vary_r);
|
||||
|
||||
done:
|
||||
dout("crush_decode success\n");
|
||||
return c;
|
||||
|
|
Загрузка…
Ссылка в новой задаче