summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorGu Zheng <guz.fnst@cn.fujitsu.com>2013-06-20 17:52:39 +0800
committerChanho Park <chanho61.park@samsung.com>2014-11-18 11:43:52 +0900
commit7e1bb615fc5d5aba61e83e28947642f166a04c64 (patch)
treea943ae7fb62548073d2e539802abe15b31319e4c /fs
parent25ebab859d1064eb5a5d8ee92db0c544b4481f6e (diff)
downloadlinux-3.10-7e1bb615fc5d5aba61e83e28947642f166a04c64.tar.gz
linux-3.10-7e1bb615fc5d5aba61e83e28947642f166a04c64.tar.bz2
linux-3.10-7e1bb615fc5d5aba61e83e28947642f166a04c64.zip
f2fs: code cleanup and simplify in func {find/add}_gc_inode
This patch simplifies list operations in find_gc_inode and add_gc_inode. Just simple code cleanup. Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com> [Jaegeuk Kim: add description] Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/f2fs/gc.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 3a9df36491a..35f9b1a196a 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -321,28 +321,21 @@ static const struct victim_selection default_v_ops = {
static struct inode *find_gc_inode(nid_t ino, struct list_head *ilist)
{
- struct list_head *this;
struct inode_entry *ie;
- list_for_each(this, ilist) {
- ie = list_entry(this, struct inode_entry, list);
+ list_for_each_entry(ie, ilist, list)
if (ie->inode->i_ino == ino)
return ie->inode;
- }
return NULL;
}
static void add_gc_inode(struct inode *inode, struct list_head *ilist)
{
- struct list_head *this;
- struct inode_entry *new_ie, *ie;
+ struct inode_entry *new_ie;
- list_for_each(this, ilist) {
- ie = list_entry(this, struct inode_entry, list);
- if (ie->inode == inode) {
- iput(inode);
- return;
- }
+ if (inode == find_gc_inode(inode->i_ino, ilist)) {
+ iput(inode);
+ return;
}
repeat:
new_ie = kmem_cache_alloc(winode_slab, GFP_NOFS);