From 7525fd36a26631e4a5668e53f44e39ed600eea08 Mon Sep 17 00:00:00 2001 From: Mr NeilBrown Date: Tue, 5 Nov 2019 13:40:53 +1100 Subject: [PATCH] LU-9679 modules: use list_move were appropriate. Rather than list_del(&foo); list_add(&foo, &bar); use list_move(&foo, &bar); Similarly for list_add_tail and list_move_tail. In lnet_attach_rsp_tracker, local_rspt already has a suitably initialised ->rspt_on_list, so the new_entry variable can be discarded. Signed-off-by: Mr NeilBrown Change-Id: I81b1165e01a6f26be0ec0c2686d84502be1e0b35 Reviewed-on: https://review.whamcloud.com/36670 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Shaun Tancheff Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- lnet/klnds/gnilnd/gnilnd_conn.c | 6 ++---- lnet/lnet/lib-move.c | 6 +----- lnet/utils/lst.c | 6 ++---- lustre/ldlm/ldlm_lockd.c | 3 +-- lustre/osd-ldiskfs/osd_handler.c | 6 ++---- 5 files changed, 8 insertions(+), 19 deletions(-) diff --git a/lnet/klnds/gnilnd/gnilnd_conn.c b/lnet/klnds/gnilnd/gnilnd_conn.c index 9090f9e..047e8a6 100644 --- a/lnet/klnds/gnilnd/gnilnd_conn.c +++ b/lnet/klnds/gnilnd/gnilnd_conn.c @@ -1614,10 +1614,8 @@ kgnilnd_cancel_wc_dgrams(kgn_device_t *dev) kgnilnd_cancel_dgram_locked(dg); /* WC could be DONE already, check and if so add to list to be released */ - if (dg->gndg_state == GNILND_DGRAM_DONE) { - list_del_init(&dg->gndg_list); - list_add_tail(&dg->gndg_list, &zombies); - } + if (dg->gndg_state == GNILND_DGRAM_DONE) + list_move_tail(&dg->gndg_list, &zombies); } } while (dg != NULL); diff --git a/lnet/lnet/lib-move.c b/lnet/lnet/lib-move.c index 9ac260b..cc4453f 100644 --- a/lnet/lnet/lib-move.c +++ b/lnet/lnet/lib-move.c @@ -4656,7 +4656,6 @@ lnet_attach_rsp_tracker(struct lnet_rsp_tracker *rspt, int cpt, struct lnet_libmd *md, struct lnet_handle_md mdh) { s64 timeout_ns; - bool new_entry = true; struct lnet_rsp_tracker *local_rspt; /* @@ -4676,7 +4675,6 @@ lnet_attach_rsp_tracker(struct lnet_rsp_tracker *rspt, int cpt, * update the deadline on that one. */ lnet_rspt_free(rspt, cpt); - new_entry = false; } else { /* new md */ rspt->rspt_mdh = mdh; @@ -4692,9 +4690,7 @@ lnet_attach_rsp_tracker(struct lnet_rsp_tracker *rspt, int cpt, * list in order to expire all the older entries first. */ lnet_net_lock(cpt); - if (!new_entry && !list_empty(&local_rspt->rspt_on_list)) - list_del_init(&local_rspt->rspt_on_list); - list_add_tail(&local_rspt->rspt_on_list, the_lnet.ln_mt_rstq[cpt]); + list_move_tail(&local_rspt->rspt_on_list, the_lnet.ln_mt_rstq[cpt]); lnet_net_unlock(cpt); lnet_res_unlock(cpt); } diff --git a/lnet/utils/lst.c b/lnet/utils/lst.c index 36c6649..cd3a6cd 100644 --- a/lnet/utils/lst.c +++ b/lnet/utils/lst.c @@ -1808,11 +1808,9 @@ lst_print_stat(char *name, struct list_head *resultp, break; } - list_del(&new->rpe_link); - list_add_tail(&new->rpe_link, &tmp[idx]); + list_move_tail(&new->rpe_link, &tmp[idx]); - list_del(&old->rpe_link); - list_add_tail(&old->rpe_link, &tmp[1 - idx]); + list_move_tail(&old->rpe_link, &tmp[1 - idx]); if (new->rpe_rpc_errno != 0 || new->rpe_fwk_errno != 0 || old->rpe_rpc_errno != 0 || old->rpe_fwk_errno != 0) { diff --git a/lustre/ldlm/ldlm_lockd.c b/lustre/ldlm/ldlm_lockd.c index faf7545..9e98b10 100644 --- a/lustre/ldlm/ldlm_lockd.c +++ b/lustre/ldlm/ldlm_lockd.c @@ -332,8 +332,7 @@ static void waiting_locks_callback(TIMER_DATA_TYPE unused) * the waiting_locks_list and ldlm_add_waiting_lock() * already grabbed a ref */ - list_del(&lock->l_pending_chain); - list_add(&lock->l_pending_chain, &expired_lock_list); + list_move(&lock->l_pending_chain, &expired_lock_list); need_dump = 1; } diff --git a/lustre/osd-ldiskfs/osd_handler.c b/lustre/osd-ldiskfs/osd_handler.c index 5c4756f..d5ca71a 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -3929,10 +3929,8 @@ static int osd_process_scheduled_agent_removals(const struct lu_env *env, spin_lock(&osd->od_osfs_lock); list_for_each_entry_safe(oor, tmp, &osd->od_orphan_list, oor_list) { - if (oor->oor_env == env) { - list_del(&oor->oor_list); - list_add(&oor->oor_list, &list); - } + if (oor->oor_env == env) + list_move(&oor->oor_list, &list); } spin_unlock(&osd->od_osfs_lock); -- 1.8.3.1