[f2fs-dev] [PATCH 02/09] f2fs: invalidate inmemory page

2014-10-19 Thread Jaegeuk Kim
If user truncates file's data, we should truncate inmemory pages too. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/data.c| 3 +++ fs/f2fs/f2fs.h| 1 + fs/f2fs/segment.c | 16 3 files changed, 20 insertions(+) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c

[f2fs-dev] [PATCH 05/09] f2fs: use highmem for directory pages

2014-10-19 Thread Jaegeuk Kim
This patch fixes to use highmem for directory pages. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/inode.c | 2 +- include/linux/f2fs_fs.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index 0deead4..52d6f54 100644

[f2fs-dev] [PATCH 08/09] f2fs: avoid build warning

2014-10-19 Thread Jaegeuk Kim
This patch removes build warning. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- 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 902c4c3..2c1e608 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -1715,7

[f2fs-dev] [PATCH 07/09] f2fs: fix to call f2fs_unlock_op

2014-10-19 Thread Jaegeuk Kim
This patch fixes to call f2fs_unlock_op, which was missing before. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/file.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 456df07..80d9a04 100644 --- a/fs/f2fs/file.c +++

[f2fs-dev] [PATCH 01/09] f2fs: do not make dirty any inmemory pages

2014-10-19 Thread Jaegeuk Kim
This patch let inmemory pages be clean all the time. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/data.c| 11 +++ fs/f2fs/f2fs.h| 1 + fs/f2fs/segment.c | 14 +- fs/f2fs/super.c | 1 + 4 files changed, 22 insertions(+), 5 deletions(-) diff --git

[f2fs-dev] [PATCH 03/09] f2fs: should truncate any allocated block for inline_data write

2014-10-19 Thread Jaegeuk Kim
When trying to write inline_data, we should truncate any data block allocated and pointed by the inode block. We should consider the data index is not 0. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/inline.c | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff

[f2fs-dev] [PATCH 06/09] f2fs: avoid to allocate when inline_data was written

2014-10-19 Thread Jaegeuk Kim
The sceanrio is like this. inline_data i_size page write_begin/vm_page_mkwrite X 30 dirty_page X 30write to #4096 position X 30 get_dnode_of_datawait for get_dnode_of_data O 30

[f2fs-dev] [PATCH 04/09] f2fs: fix race conditon on truncation with inline_data

2014-10-19 Thread Jaegeuk Kim
Let's consider the following scenario. blkaddr[0] inline_data i_size i_blocks writepage truncate NEWX40962dirty page #0 NEWX 0change i_size NEWX 0 2f2fs_write_inline_data

[f2fs-dev] [PATCH 09/09] f2fs: avoid infinite loop at cp_error

2014-10-19 Thread Jaegeuk Kim
This patch avoids an infinite loop in sync_dirty_inode_page when -EIO was detected. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/checkpoint.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c index dd10a03..ca514d5 100644 ---

[f2fs-dev] [PATCH 02/11] f2fs: reuse find_in_block code for find_in_inline_dir

2014-10-19 Thread Jaegeuk Kim
This patch removes redundant copied code in find_in_inline_dir. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/dir.c| 72 +++- fs/f2fs/f2fs.h | 3 ++- fs/f2fs/inline.c | 52 +--- 3 files

[f2fs-dev] [PATCH 09/11] f2fs: introduce f2fs_dentry_ptr structure for code clean-up

2014-10-19 Thread Jaegeuk Kim
This patch introduces f2fs_dentry_ptr structure for the use of a function parameter in inline_dentry operations. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/dir.c| 61 +++- fs/f2fs/f2fs.h | 34 ++-

[f2fs-dev] [PATCH 03/11] f2fs: fix to wait correct block type

2014-10-19 Thread Jaegeuk Kim
The inode page needs to wait NODE block io. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/dir.c| 3 ++- fs/f2fs/inline.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c index c60b93f..644b480 100644 --- a/fs/f2fs/dir.c +++

[f2fs-dev] [PATCH 11/11] f2fs: use kmap_atomic instead of kmap

2014-10-19 Thread Jaegeuk Kim
For better performance, we need to use kmap_atomic instead of kmap. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/inline.c | 17 - 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index 825995f..c03653d 100644 ---

[f2fs-dev] [PATCH 01/11] f2fs: reuse room_for_filename for inline dentry operation

2014-10-19 Thread Jaegeuk Kim
This patch introduces to reuse the existing room_for_filename for inline dentry operation. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/dir.c| 21 + fs/f2fs/f2fs.h | 1 + fs/f2fs/inline.c | 27 ++- 3 files changed, 12 insertions(+),

[f2fs-dev] [PATCH 08/11] f2fs: should not truncate any inline_dentry

2014-10-19 Thread Jaegeuk Kim
If the inode has inline_dentry, we should not truncate any block indices. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index d054e0e..402e381 100644 --- a/fs/f2fs/file.c +++

[f2fs-dev] [PATCH 06/11] f2fs: fix counting inline_data inode numbers

2014-10-19 Thread Jaegeuk Kim
This patch fixes wrongly counting inline_data inode numbers. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/inode.c | 4 ++-- fs/f2fs/namei.c | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index b9b1d6b..4131e3c 100644 ---

[f2fs-dev] [PATCH 07/11] f2fs: reuse core function in f2fs_readdir for inline_dentry

2014-10-19 Thread Jaegeuk Kim
This patch introduces a core function, f2fs_fill_dentries, to remove redundant code in f2fs_readdir and f2fs_read_inline_dir. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/dir.c| 64 +--- fs/f2fs/f2fs.h | 3 +++

[f2fs-dev] [PATCH 04/11] f2fs: avoid deadlock on init_inode_metadata

2014-10-19 Thread Jaegeuk Kim
Previously, init_inode_metadata does not hold any parent directory's inode page. So, f2fs_init_acl can grab its parent inode page without any problem. But, when we use inline_dentry, that page is grabbed during f2fs_add_link, so that we can fall into deadlock condition like below. INFO: task

[f2fs-dev] [PATCH 05/11] f2fs: add stat info for inline_dentry inodes

2014-10-19 Thread Jaegeuk Kim
This patch adds status information for inline_dentry inodes. Signed-off-by: Jaegeuk Kim jaeg...@kernel.org --- fs/f2fs/debug.c | 3 +++ fs/f2fs/f2fs.h | 16 ++-- fs/f2fs/inline.c | 2 +- fs/f2fs/inode.c | 3 +++ fs/f2fs/namei.c | 1 + 5 files changed, 22 insertions(+), 3