From 63092f76f40633cbdf51cc3b950c121ff71423f9 Mon Sep 17 00:00:00 2001 From: "Mr. NeilBrown" Date: Mon, 23 Jan 2023 16:29:57 -0500 Subject: [PATCH] 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 --- lustre/lov/lov_request.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) 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); } -- 1.8.3.1