From: Mr. NeilBrown Date: Mon, 23 Jan 2023 21:29:57 +0000 (-0500) Subject: LU-6142 lov: simplfy lov_finish_set() X-Git-Tag: 2.15.54~28 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=63092f76f40633cbdf51cc3b950c121ff71423f9;p=fs%2Flustre-release.git LU-6142 lov: simplfy lov_finish_set() When deleting everything from a list, a while loop is cleaner than list_for_each_safe(). Linux-commit: dff162689a4061ff30d3a05f9d790e375c06ab8f Change-Id: I90d98ebf14f461796d6f9d31a2c62de1520034cc Signed-off-by: Mr. NeilBrown Signed-off-by: Greg Kroah-Hartman Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49735 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Arshad Hussain Reviewed-by: Jian Yu Reviewed-by: Shaun Tancheff Reviewed-by: Oleg Drokin --- diff --git a/lustre/lov/lov_request.c b/lustre/lov/lov_request.c index 4994011..511e423 100644 --- a/lustre/lov/lov_request.c +++ b/lustre/lov/lov_request.c @@ -47,19 +47,16 @@ static void lov_init_set(struct lov_request_set *set) static void lov_finish_set(struct lov_request_set *set) { - struct list_head *pos, *n; struct lov_request *req; ENTRY; - LASSERT(set != NULL); - list_for_each_safe(pos, n, &set->set_list) { - req = list_entry(pos, struct lov_request, rq_link); + while ((req = list_first_entry_or_null(&set->set_list, + struct lov_request, + rq_link)) != NULL) { list_del_init(&req->rq_link); - if (req->rq_oi.oi_osfs) OBD_FREE_PTR(req->rq_oi.oi_osfs); - OBD_FREE_PTR(req); }