[PATCH 07/12] f2fs: set cached_en after checking finally

From: Jaegeuk Kim
Date: Mon Jun 29 2015 - 14:40:31 EST


This patch relocates cached_en not only to be covered by spin_lock, but also
to set once after checking out completely.

Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
---
fs/f2fs/data.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 1e6609b..676e7b9 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -453,14 +453,12 @@ static struct extent_node *__lookup_extent_tree(struct extent_tree *et,
while (node) {
en = rb_entry(node, struct extent_node, rb_node);

- if (fofs < en->ei.fofs) {
+ if (fofs < en->ei.fofs)
node = node->rb_left;
- } else if (fofs >= en->ei.fofs + en->ei.len) {
+ else if (fofs >= en->ei.fofs + en->ei.len)
node = node->rb_right;
- } else {
- et->cached_en = en;
+ else
return en;
- }
}
return NULL;
}
@@ -625,6 +623,7 @@ static bool f2fs_lookup_extent_tree(struct inode *inode, pgoff_t pgofs,
spin_lock(&sbi->extent_lock);
if (!list_empty(&en->list))
list_move_tail(&en->list, &sbi->extent_list);
+ et->cached_en = en;
spin_unlock(&sbi->extent_lock);
stat_inc_read_hit(sbi->sb);
}
--
2.1.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/