Closed AbhishekSahaSeagate closed 2 years ago
tested with these changes on m0d-ut:cs-single-service UT
diff --git a/motr/setup.c b/motr/setup.c
index f0c69f5..6a43417 100644
--- a/motr/setup.c
+++ b/motr/setup.c
@@ -1672,8 +1672,14 @@ static int cs_storage_setup(struct m0_motr *cctx)
}
}
+ M0_LOG(M0_ALWAYS, "ABK: STORAGE SETUP");
+
+ if (M0_FI_ENABLED("no_cob_dom"))
+ rctx->rc_mdstore.md_dom = NULL;
+
if (rctx->rc_mdstore.md_dom == NULL) {
rc = -ENOENT;
+ M0_LOG(M0_ALWAYS, "ABK: FI ENABLED");
M0_ERR_INFO(rc, "Cob domain not found for root cob");
goto cleanup_addb2;
}
diff --git a/motr/ut/cs_ut_main.c b/motr/ut/cs_ut_main.c
index 62957e4..db45441 100644
--- a/motr/ut/cs_ut_main.c
+++ b/motr/ut/cs_ut_main.c
@@ -299,6 +299,8 @@ static int cs_ut_test_helper_success(struct cl_ctx *cctx, size_t cctx_nr,
};
rc = m0_rpc_server_start(&sctx);
+ if (rc == -ENOENT)
+ return rc;
M0_UT_ASSERT(rc == 0);
for (i = 0; i < cctx_nr; ++i) {
rc = cs_ut_client_init(&cctx[i], cl_ep_addrs[i],
@@ -356,6 +358,7 @@ static void test_cs_ut_service_one(void)
{
struct cl_ctx cctx[1] = {};
+ m0_fi_enable_once("cs_storage_setup", "no_cob_dom");
cs_ut_test_helper_success(cctx, ARRAY_SIZE(cctx), cs_ut_service_one_cmd,
ARRAY_SIZE(cs_ut_service_one_cmd));
}
[root@ssc-vm-g2-rhev4-1290 cortx-motr]#
When FI is enabled, the motr startup returns with error in an expected manner.
----- run_ut -t m0d-ut:cs-single-service -----
START Iteration: 1 out of 1
m0d-ut
cs-single-service motr[51122]: 57f0 ALWAYS [motr/setup.c:1675:cs_storage_setup] ABK: STORAGE SETUP
motr[51122]: 57f0 ALWAYS [motr/setup.c:1682:cs_storage_setup] ABK: FI ENABLED
1.46 sec 84 MiB
[ time: 1.46 sec, mem: 84 MiB, leaked: 7 MiB ]
Time: 1.46 sec, Mem: 84 MiB, Leaked: 7 MiB, Asserts: 0
Unit tests status: SUCCESS
END Iteration: 1 out of 1
have triggered CI-CD for this PR https://eos-jenkins.colo.seagate.com/job/Cortx-PR-Build/job/Motr/1646/
Cppcheck: No new warnings found :thumbsup:
motr/setup.c: M0_ASSERT(rctx->rc_mdstore.md_dom != NULL); This Assert was changed to check for NULL md_dom and return -ENOENT if check failed instead of raising a panic.
Signed-off-by: Abhishek Saha abhishek.saha@seagate.com
Problem Statement
Design
Coding
Checklist for Author
Testing
Checklist for Author
Impact Analysis
Checklist for Author/Reviewer/GateKeeper
Review Checklist
Checklist for Author
Documentation
Checklist for Author