From: Casey Bodley Date: Mon, 25 Jan 2016 22:23:02 +0000 (-0500) Subject: rgw: add drain_all() after collect() in sync crs X-Git-Tag: v10.1.0~354^2~38 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=865c76c36002c9ac32dcf8299134de36b626a7da;p=ceph.git rgw: add drain_all() after collect() in sync crs this fixes a segfault caused by parent stacks completing while there are child stacks outstanding Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index 3042560cf824..abd1a770cadc 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -330,6 +330,7 @@ public: } yield; } + drain_all(); return set_cr_done(); } return 0; @@ -536,6 +537,7 @@ public: } yield; } + drain_all(); yield return set_cr_done(); } return 0; diff --git a/src/rgw/rgw_sync.cc b/src/rgw/rgw_sync.cc index 9c475abe66be..914e65b757d3 100644 --- a/src/rgw/rgw_sync.cc +++ b/src/rgw/rgw_sync.cc @@ -622,6 +622,7 @@ public: } yield; } + drain_all(); return set_cr_done(); } return 0; @@ -826,6 +827,7 @@ public: } yield; } + drain_all(); if (failed) { yield return set_cr_error(-EIO); }