[f2fs-dev] [PATCH] f2fs: enable fast symlink by utilizing inline data

2015-03-18 Thread Wanpeng Li
Fast symlink can utilize inline data flow to avoid using any i_addr region, since we need to handle many cases such as truncation, roll-forward recovery, and fsck/dump tools. Signed-off-by: Wanpeng Li --- fs/f2fs/inline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/f

[f2fs-dev] [PATCH] f2fs: enable inline data by default

2015-03-18 Thread Wanpeng Li
Enable inline_data feature by default since it brings us better performance and space utilization and now has already stable. Signed-off-by: Wanpeng Li --- Documentation/filesystems/f2fs.txt | 2 -- fs/f2fs/f2fs.h | 11 +-- fs/f2fs/inline.c | 3 --

Re: [f2fs-dev] [PATCH v3] f2fs: add fast symlink support

2015-03-18 Thread Chao Yu
Hi Wanpeng, > -Original Message- > From: Wanpeng Li [mailto:wanpeng...@linux.intel.com] > Sent: Thursday, March 19, 2015 7:02 AM > To: Jaegeuk Kim > Cc: Wanpeng Li; Changman Lee; Chao Yu; linux-f2fs-devel@lists.sourceforge.net; > linux-fsde...@vger.kernel.org; linux-ker...@vger.kernel.org

Re: [f2fs-dev] [PATCH v3] f2fs: add fast symlink support

2015-03-18 Thread Wanpeng Li
Hi Jaegeuk, On Wed, Mar 18, 2015 at 11:05:28AM -0700, Jaegeuk Kim wrote: >Hi, > >On Wed, Mar 18, 2015 at 04:58:52PM +0800, Wanpeng Li wrote: >> Hi Jaegeuk, >> On Tue, Mar 17, 2015 at 10:21:27AM -0700, Jaegeuk Kim wrote: >> >> - err = page_symlink(inode, symname, symlen); >> >> + >> >> + if (symlen

[f2fs-dev] [PATCH 2/2] f2fs: add some tracepoints to debug volatile and atomic writes

2015-03-18 Thread Jaegeuk Kim
Signed-off-by: Jaegeuk Kim --- fs/f2fs/data.c | 2 ++ fs/f2fs/f2fs.h | 4 fs/f2fs/segment.c | 4 include/trace/events/f2fs.h | 27 ++- 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/data.c b/fs/f2fs/d

[f2fs-dev] [PATCH 1/2] f2fs: avoid punch_hole overhead when releasing volatile data

2015-03-18 Thread Jaegeuk Kim
This patch is to avoid some punch_hole overhead when releasing volatile data. If volatile data was not written yet, we just can make the first page as zero. Signed-off-by: Jaegeuk Kim --- fs/f2fs/data.c | 2 ++ fs/f2fs/f2fs.h | 6 ++ fs/f2fs/file.c | 6 ++ fs/f2fs/inode.c | 10

Re: [f2fs-dev] [PATCH v3] f2fs: add fast symlink support

2015-03-18 Thread Jaegeuk Kim
Hi, On Wed, Mar 18, 2015 at 04:58:52PM +0800, Wanpeng Li wrote: > Hi Jaegeuk, > On Tue, Mar 17, 2015 at 10:21:27AM -0700, Jaegeuk Kim wrote: > >> - err = page_symlink(inode, symname, symlen); > >> + > >> + if (symlen > MAX_FAST_SYMLINK_SIZE) { > >> + /* slow symlink */ > >> + i

Re: [f2fs-dev] [PATCH 1/2] generic/067: add a testcase to check some inline truncation behaviors

2015-03-18 Thread Jaegeuk Kim
Hi Dave, Thank you for the review. I'll resend this series with precise description and fixes as you pointed. Thanks, On Wed, Mar 18, 2015 at 02:46:53PM +1100, Dave Chinner wrote: > On Tue, Mar 17, 2015 at 10:32:51AM -0700, Jaegeuk Kim wrote: > > This patch introduces a new testcase, generic/067

Re: [f2fs-dev] [PATCH 4/4] f2fs: avoid wrong f2fs_bug_on when truncating inline_data

2015-03-18 Thread Jaegeuk Kim
Hi, On Wed, Mar 18, 2015 at 09:12:00AM +0800, Chao Yu wrote: > Hi Jaegeuk, > > > -Original Message- > > From: Jaegeuk Kim [mailto:jaeg...@kernel.org] > > Sent: Wednesday, March 18, 2015 12:58 AM > > To: linux-ker...@vger.kernel.org; linux-fsde...@vger.kernel.org; > > linux-f2fs-devel@list

Re: [f2fs-dev] [PATCH 2/4 v2] f2fs: set buffer_new when new blocks are allocated

2015-03-18 Thread Jaegeuk Kim
Hi Chao, Thanks for the review. Change log from v1: o add clear_buffer_new() in f2fs_map_bh This patch modifies to call set_buffer_new, if new blocks are allocated. Signed-off-by: Jaegeuk Kim --- fs/f2fs/data.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/f2fs/

Re: [f2fs-dev] [PATCH v3] f2fs: add fast symlink support

2015-03-18 Thread Wanpeng Li
Hi Jaegeuk, On Tue, Mar 17, 2015 at 10:21:27AM -0700, Jaegeuk Kim wrote: >> -err = page_symlink(inode, symname, symlen); >> + >> +if (symlen > MAX_FAST_SYMLINK_SIZE) { >> +/* slow symlink */ >> +inode->i_op = &f2fs_symlink_inode_operations; >> +inode->i_m