From: Andrew Morton <akpm@linux-foundation.org>
Date: Thu, 23 Jan 2014 23:56:13 +0000 (-0800)
Subject: fs-ext3-use-rbtree-postorder-iteration-helper-instead-of-opencoding-fix
X-Git-Tag: firefly_0821_release~176^2~4584^2~6
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ed8f68669a27287a3b15882e8d88ebccae75ec59;p=firefly-linux-kernel-4.4.55.git

fs-ext3-use-rbtree-postorder-iteration-helper-instead-of-opencoding-fix

use do{}while - more efficient and it squishes a coccinelle warning

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Cc: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Michel Lespinasse <walken@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---

diff --git a/fs/ext3/dir.c b/fs/ext3/dir.c
index a331ad1c23f8..e66e4808719f 100644
--- a/fs/ext3/dir.c
+++ b/fs/ext3/dir.c
@@ -312,11 +312,11 @@ static void free_rb_tree_fname(struct rb_root *root)
 	struct fname *fname, *next;
 
 	rbtree_postorder_for_each_entry_safe(fname, next, root, rb_hash)
-		while (fname) {
-			struct fname * old = fname;
+		do {
+			struct fname *old = fname;
 			fname = fname->next;
-			kfree (old);
-		}
+			kfree(old);
+		} while (fname);
 
 	*root = RB_ROOT;
 }