From 2c1576bb22e05a3dfdb87a62a7c5c74c6f1449b1 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Tue, 19 Jan 2016 10:24:31 -0800 Subject: [PATCH] ReplicatedPG::process_copy_chunk: fix invalid list traversal for proxy_read Fixes: 14423 Backport: infernalis, hammer Signed-off-by: Samuel Just --- src/osd/ReplicatedPG.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 855bff85d343..5bc5fe07cf15 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -7163,9 +7163,11 @@ void ReplicatedPG::process_copy_chunk(hobject_t oid, ceph_tid_t tid, int r) } } for (map::iterator it = proxywrite_ops.begin(); - it != proxywrite_ops.end(); ++it) { + it != proxywrite_ops.end();) { if (it->second->soid == cobc->obs.oi.soid) { - cancel_proxy_write(it->second); + cancel_proxy_write((it++)->second); + } else { + ++it; } } kick_proxy_ops_blocked(cobc->obs.oi.soid); -- 2.47.3