From: NitzanMordhai Date: Sun, 1 May 2022 05:33:20 +0000 (+0000) Subject: systest: fix race with pool delete after socket injection X-Git-Tag: v18.0.0~818^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4c00b448845fdfb52c1bd7b7ab8b8562761d9b06;p=ceph.git systest: fix race with pool delete after socket injection Adding another semaphore for the second test to create pools only after the first test delete complete. Fixes: https://tracker.ceph.com/issues/43887 Signed-off-by: Nitzan Mordechai --- diff --git a/src/test/system/rados_delete_pools_parallel.cc b/src/test/system/rados_delete_pools_parallel.cc index 47d878c7cb3..dc42d649a8b 100644 --- a/src/test/system/rados_delete_pools_parallel.cc +++ b/src/test/system/rados_delete_pools_parallel.cc @@ -68,12 +68,14 @@ int main(int argc, const char **argv) RETURN1_IF_NONZERO(CrossProcessSem::create(0, &pool_setup_sem)); CrossProcessSem *delete_pool_sem = NULL; RETURN1_IF_NONZERO(CrossProcessSem::create(0, &delete_pool_sem)); + CrossProcessSem *deleted_pool_sem = NULL; + RETURN1_IF_NONZERO(CrossProcessSem::create(0, &deleted_pool_sem)); // first test: create a pool, then delete that pool { StRadosCreatePool r1(argc, argv, NULL, pool_setup_sem, NULL, pool, 50, ".obj"); - StRadosDeletePool r2(argc, argv, pool_setup_sem, NULL, pool); + StRadosDeletePool r2(argc, argv, pool_setup_sem, deleted_pool_sem, pool); vector < SysTestRunnable* > vec; vec.push_back(&r1); vec.push_back(&r2); @@ -89,7 +91,7 @@ int main(int argc, const char **argv) RETURN1_IF_NONZERO(pool_setup_sem->reinit(0)); RETURN1_IF_NONZERO(delete_pool_sem->reinit(0)); { - StRadosCreatePool r1(argc, argv, NULL, pool_setup_sem, NULL, + StRadosCreatePool r1(argc, argv, deleted_pool_sem, pool_setup_sem, NULL, pool, g_num_objects, ".obj"); StRadosDeletePool r2(argc, argv, delete_pool_sem, NULL, pool); StRadosListObjects r3(argc, argv, pool, true, g_num_objects / 2,