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


Groups > linux.kernel > #1544590 > unrolled thread

[PATCH] btrfs: use rb_entry()

Started byGeliang Tang <geliangtang@gmail.com>
First post2016-12-19 16:00 +0100
Last post2016-12-20 16:40 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] btrfs: use rb_entry() Geliang Tang <geliangtang@gmail.com> - 2016-12-19 16:00 +0100
    Re: [PATCH] btrfs: use rb_entry() David Sterba <dsterba@suse.cz> - 2016-12-20 16:40 +0100

#1544590 — [PATCH] btrfs: use rb_entry()

FromGeliang Tang <geliangtang@gmail.com>
Date2016-12-19 16:00 +0100
Subject[PATCH] btrfs: use rb_entry()
Message-ID<sQ7zY-ML-9@gated-at.bofh.it>
To make the code clearer, use rb_entry() instead of container_of() to
deal with rbtree.

Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
 fs/btrfs/ctree.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index a426dc8..146b2dc 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -426,7 +426,7 @@ void btrfs_put_tree_mod_seq(struct btrfs_fs_info *fs_info,
 	tm_root = &fs_info->tree_mod_log;
 	for (node = rb_first(tm_root); node; node = next) {
 		next = rb_next(node);
-		tm = container_of(node, struct tree_mod_elem, node);
+		tm = rb_entry(node, struct tree_mod_elem, node);
 		if (tm->seq > min_seq)
 			continue;
 		rb_erase(node, tm_root);
@@ -460,7 +460,7 @@ __tree_mod_log_insert(struct btrfs_fs_info *fs_info, struct tree_mod_elem *tm)
 	tm_root = &fs_info->tree_mod_log;
 	new = &tm_root->rb_node;
 	while (*new) {
-		cur = container_of(*new, struct tree_mod_elem, node);
+		cur = rb_entry(*new, struct tree_mod_elem, node);
 		parent = *new;
 		if (cur->logical < tm->logical)
 			new = &((*new)->rb_left);
@@ -746,7 +746,7 @@ __tree_mod_log_search(struct btrfs_fs_info *fs_info, u64 start, u64 min_seq,
 	tm_root = &fs_info->tree_mod_log;
 	node = tm_root->rb_node;
 	while (node) {
-		cur = container_of(node, struct tree_mod_elem, node);
+		cur = rb_entry(node, struct tree_mod_elem, node);
 		if (cur->logical < start) {
 			node = node->rb_left;
 		} else if (cur->logical > start) {
@@ -1326,7 +1326,7 @@ __tree_mod_log_rewind(struct btrfs_fs_info *fs_info, struct extent_buffer *eb,
 		next = rb_next(&tm->node);
 		if (!next)
 			break;
-		tm = container_of(next, struct tree_mod_elem, node);
+		tm = rb_entry(next, struct tree_mod_elem, node);
 		if (tm->logical != first_tm->logical)
 			break;
 	}
-- 
2.9.3

[toc] | [next] | [standalone]


#1545213

FromDavid Sterba <dsterba@suse.cz>
Date2016-12-20 16:40 +0100
Message-ID<sQuGe-7mF-41@gated-at.bofh.it>
In reply to#1544590
On Mon, Dec 19, 2016 at 11:46:23AM -0500, Josef Bacik wrote:
> On Mon, Dec 19, 2016 at 9:53 AM, Geliang Tang <geliangtang@gmail.com> 
> wrote:
> > To make the code clearer, use rb_entry() instead of container_of() to
> > deal with rbtree.
> > 
> > Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> 
> Reviewed-by: Josef Bacik <jbacik@fb.com>

Added to cleanups branch.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web