Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1579478

[PATCH v2 3/9] raid5: Don't reinvent the wheel but use existing llist API

From Byungchul Park <byungchul.park@lge.com>
Newsgroups linux.kernel
Subject [PATCH v2 3/9] raid5: Don't reinvent the wheel but use existing llist API
Date 2017-02-13 08:30 +0100
Message-ID <tajfc-zU-23@gated-at.bofh.it> (permalink)
References <tajfc-zU-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Although llist provides proper APIs, they are not used. Make them used.

Signed-off-by: Byungchul Park <byungchul.park@lge.com>
---
 drivers/md/raid5.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 36c13e4..22a0326 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -353,17 +353,15 @@ static void release_inactive_stripe_list(struct r5conf *conf,
 static int release_stripe_list(struct r5conf *conf,
 			       struct list_head *temp_inactive_list)
 {
-	struct stripe_head *sh;
+	struct stripe_head *sh, *t;
 	int count = 0;
 	struct llist_node *head;
 
 	head = llist_del_all(&conf->released_stripes);
 	head = llist_reverse_order(head);
-	while (head) {
+	llist_for_each_entry_safe(sh, t, head, release_list) {
 		int hash;
 
-		sh = llist_entry(head, struct stripe_head, release_list);
-		head = llist_next(head);
 		/* sh could be readded after STRIPE_ON_RELEASE_LIST is cleard */
 		smp_mb();
 		clear_bit(STRIPE_ON_RELEASE_LIST, &sh->state);
-- 
1.9.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 0/9] Don't reinvent the wheel but use existing llist API Byungchul Park <byungchul.park@lge.com> - 2017-02-13 08:30 +0100
  [PATCH v2 5/9] fput: Don't reinvent the wheel but use existing llist API Byungchul Park <byungchul.park@lge.com> - 2017-02-13 08:30 +0100
  [PATCH v2 1/9] llist: Provide a safe version for llist_for_each Byungchul Park <byungchul.park@lge.com> - 2017-02-13 08:30 +0100
    Re: [PATCH v2 1/9] llist: Provide a safe version for llist_for_each "Huang\, Ying" <ying.huang@intel.com> - 2017-02-13 08:40 +0100
      Re: [PATCH v2 1/9] llist: Provide a safe version for llist_for_each Byungchul Park <byungchul.park@lge.com> - 2017-02-13 08:50 +0100
        Re: [PATCH v2 1/9] llist: Provide a safe version for llist_for_each "Huang\, Ying" <ying.huang@intel.com> - 2017-02-13 09:00 +0100
          Re: [PATCH v2 1/9] llist: Provide a safe version for llist_for_each Byungchul Park <byungchul.park@lge.com> - 2017-02-13 09:00 +0100
  [PATCH v2 7/9] irq_work: Don't reinvent the wheel but use existing llist API Byungchul Park <byungchul.park@lge.com> - 2017-02-13 08:30 +0100
  [PATCH v2 9/9] mm: Don't reinvent the wheel but use existing llist API Byungchul Park <byungchul.park@lge.com> - 2017-02-13 08:30 +0100
  [PATCH v2 6/9] namespace.c: Don't reinvent the wheel but use existing llist API Byungchul Park <byungchul.park@lge.com> - 2017-02-13 08:30 +0100
  [PATCH v2 3/9] raid5: Don't reinvent the wheel but use existing llist API Byungchul Park <byungchul.park@lge.com> - 2017-02-13 08:30 +0100
  [PATCH v2 2/9] bcache: Don't reinvent the wheel but use existing llist API Byungchul Park <byungchul.park@lge.com> - 2017-02-13 08:30 +0100

csiph-web