]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/osd: merge pg_temp_wanted before sending them 37910/head
authorKefu Chai <kchai@redhat.com>
Sun, 1 Nov 2020 03:23:13 +0000 (11:23 +0800)
committerKefu Chai <kchai@redhat.com>
Sun, 1 Nov 2020 03:55:42 +0000 (11:55 +0800)
commit4d17fda7e308617b5c87abc9fcc3c7b258e1a541
tree0d0cce27959db45b199af0abdc2ac48a2be89130
parentdbbd2d32f3abfa22023eed3e29d12cdf1e2b64cd
crimson/osd: merge pg_temp_wanted before sending them

there is chance that new pg_temp_wanted is added when we are sending
them in ShardServices::send_pg_temp(), but the pg temp are already
collected into the messages before seastar::parallel_for_each(). so,
we cannot move all elements from pg_temp_wanted to pg_temp_pending after
sending the messages, that'd also move the unsent pg temps to
pg_temp_pending as well. so we have to do this before do the async call,

this issue was root caused by Xuehan Xu <xxhdx1985126@gmail.com>.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crimson/osd/shard_services.cc