staging: lustre: simplfy lov_finish_set()
authorNeilBrown <neilb@suse.com>
Mon, 30 Oct 2017 04:59:27 +0000 (15:59 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Nov 2017 08:20:37 +0000 (09:20 +0100)
When deleting everything from a list, a while loop
is cleaner than list_for_each_safe().

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/lov/lov_request.c

index 3bdf48e..cfa1d7f 100644 (file)
@@ -49,15 +49,13 @@ 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;
 
        LASSERT(set);
-       list_for_each_safe(pos, n, &set->set_list) {
-               struct lov_request *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);
-
                kfree(req->rq_oi.oi_osfs);
                kfree(req);
        }