linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
* [f2fs-dev] [PATCH 1/2] f2fs: use separate list iterator variable to call list_move_tail()
@ 2022-03-31 22:16 Jakob Koschel
  2022-03-31 22:16 ` [f2fs-dev] [PATCH 2/2] f2fs: replace usage of found with dedicated list iterator variable Jakob Koschel
  2022-04-12  9:40 ` [f2fs-dev] [PATCH 1/2] f2fs: use separate list iterator variable to call list_move_tail() Chao Yu
  0 siblings, 2 replies; 5+ messages in thread
From: Jakob Koschel @ 2022-03-31 22:16 UTC (permalink / raw)
  To: Jaegeuk Kim
  Cc: linux-kernel, Bos, H.J., Brian Johannesmeyer, Cristiano Giuffrida,
	Jakob Koschel, linux-f2fs-devel, Mike Rapoport

In preparation to limit the scope of a list iterator to the list
traversal loop, use a dedicated pointer to point to the found element
[1].

If no break is hit or the list is empty, 'next' will be NULL and
list_move_tail() should be called explicitly on the head directly.

Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/
Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com>
---
 fs/f2fs/segment.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 22dfeb991529..81ef2c3d08e5 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -4175,16 +4175,20 @@ static void release_sit_entry_set(struct sit_entry_set *ses)
 static void adjust_sit_entry_set(struct sit_entry_set *ses,
 						struct list_head *head)
 {
-	struct sit_entry_set *next = ses;
+	struct sit_entry_set *next = NULL, *iter = ses;
 
 	if (list_is_last(&ses->set_list, head))
 		return;
 
-	list_for_each_entry_continue(next, head, set_list)
-		if (ses->entry_cnt <= next->entry_cnt)
+	list_for_each_entry_continue(iter, head, set_list)
+		if (ses->entry_cnt <= iter->entry_cnt) {
+			next = iter;
+			list_move_tail(&ses->set_list, &iter->set_list);
 			break;
+		}
 
-	list_move_tail(&ses->set_list, &next->set_list);
+	if (!next)
+		list_move_tail(&ses->set_list, head);
 }
 
 static void add_sit_entry(unsigned int segno, struct list_head *head)

base-commit: d888c83fcec75194a8a48ccd283953bdba7b2550
-- 
2.25.1



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-04-12 11:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-31 22:16 [f2fs-dev] [PATCH 1/2] f2fs: use separate list iterator variable to call list_move_tail() Jakob Koschel
2022-03-31 22:16 ` [f2fs-dev] [PATCH 2/2] f2fs: replace usage of found with dedicated list iterator variable Jakob Koschel
2022-04-12  9:41   ` Chao Yu
2022-04-12  9:40 ` [f2fs-dev] [PATCH 1/2] f2fs: use separate list iterator variable to call list_move_tail() Chao Yu
2022-04-12 11:02   ` Jakob Koschel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).