Skip to content

Commit 9fd711d

Browse files
committed
DAOS-17271 pool: Fix handle_event -DER_NONEXISTs
When handling the exclusion of multiple ranks, pool_svc_update_map_internal aborts the whole request and returns -DER_NONEXIST if any of the ranks is absent in the pool map. This is correct for the dmg case, but problematic for the handle_event case, where ranks not in the pool map should simply be ignored. Signed-off-by: Li Wei <liwei@hpe.com>
1 parent f24112c commit 9fd711d

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/pool/srv_pool.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -7033,7 +7033,7 @@ pool_svc_update_map_internal(struct pool_svc *svc, unsigned int opc, bool exclud
70337033
inval_tgt_addrs);
70347034
if (rc != 0)
70357035
goto out_map;
7036-
if (inval_tgt_addrs->pta_number > 0) {
7036+
if (src == MUS_DMG && inval_tgt_addrs->pta_number > 0) {
70377037
/*
70387038
* If any invalid ranks/targets were specified here,
70397039
* abort the entire request. This will mean the
@@ -7604,8 +7604,8 @@ pool_svc_exclude_ranks(struct pool_svc *svc, struct pool_svc_event_set *event_se
76047604
NULL, NULL, 0, &list, &inval_list_out, &map_version,
76057605
NULL /* hint */, MUS_SWIM, false);
76067606

7607-
D_DEBUG(DB_MD, "Exclude pool "DF_UUID"/%u ranks %u: rc %d\n",
7608-
DP_UUID(svc->ps_uuid), map_version, n, rc);
7607+
D_DEBUG(DB_MD, DF_UUID ": exclude %u ranks: map_version=%u: " DF_RC "\n",
7608+
DP_UUID(svc->ps_uuid), n, rc == 0 ? map_version : 0, DP_RC(rc));
76097609

76107610
pool_target_addr_list_free(&inval_list_out);
76117611
out:

0 commit comments

Comments
 (0)