In our rename process, region of f2fs_lock_op covered is too big as some of the
code like f2fs_empty_dir/f2fs_find_entry are not needed to protect by this lock.
So in the extreme case like doing checkpoint when we rename old inode to exist
inode in a large directory could cause lower concurrency.
This patch correct releasing code of new_page to avoid BUG_ON in error patch of
f2fs_rename.
Signed-off-by: Chao Yu
---
fs/f2fs/namei.c |3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
index 0d55517..f17e34c 100644
--- a/fs/f2fs/namei.c
+
Hi friend,
How are you doing?
We are a professional factory of Industrial Wipes,Disposable Wipes,Cleanroom
Wipes,Food Service Wipes in China .They are very popular in your market.If you
would like to know more about our products,pls send us your need to
i...@spunlace-nonwovens.com directly.
Fo
If we fail in this path:
->init_inode_metadata
->make_empty_dir
->get_new_data_page
->grab_cache_page return -ENOMEM
We will bug on in error path of init_inode_metadata when call remove_inode_page
because i_block = 2 (one inode block will be released later & one dentry block).
We shou
Although building NAT journal in cursum reduce the read/write work for NAT
block, but previous design leave us lower performance when write checkpoint
frequently for these cases:
1. if journal in cursum has already full, it's a bit of waste that we flush all
nat entries to page for persistence,
Hi Chao,
Thank you for the patch. :)
Just one minor suggestion.
[snip]
> /*
> @@ -1792,80 +1864,87 @@ void flush_nat_entries(struct f2fs_sb_info *sbi)
> struct f2fs_nm_info *nm_i = NM_I(sbi);
> struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA);
> struct f2fs_summary_
Change log from v1:
o avoid mark_inode_dirty(dir), suggested by Chao Yu
>From f28528b0d835d7f2168e9a729016f68350be0308 Mon Sep 17 00:00:00 2001
From: Jaegeuk Kim
Date: Fri, 20 Jun 2014 21:37:02 -0700
Subject: [PATCH v2] f2fs: introduce f2fs_do_tmpfile for code consistency
This patch adds f2fs_d
kcalloc manages count*sizeof overflow.
Cc: Jaegeuk Kim
Cc: linux-f2fs-devel@lists.sourceforge.net
Signed-off-by: Fabian Frederick
---
fs/f2fs/segment.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index f25f0e0..96f51d4 100644
--- a/f