lkml.org 
[lkml]   [2013]   [Dec]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [f2fs-dev] [PATCH 2/6] f2fs: convert inline_data for punch_hole
Date
Hi,

One comment as following.

> -----Original Message-----
> From: Jaegeuk Kim [mailto:jaegeuk.kim@samsung.com]
> Sent: Friday, December 27, 2013 12:00 PM
> Cc: linux-fsdevel@vger.kernel.org; linux-kernel@vger.kernel.org; linux-f2fs-devel@lists.sourceforge.net
> Subject: [f2fs-dev] [PATCH 2/6] f2fs: convert inline_data for punch_hole
>
> In the punch_hole(), let's convert inline_data all the time for simplicity and
> to avoid potential deadlock conditions.
> It is pretty much not a big deal to do this.
>
> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>

Reviewed-by: Chao Yu <chao2.yu@samsung.com>

> ---
> fs/f2fs/file.c | 22 +++-------------------
> 1 file changed, 3 insertions(+), 19 deletions(-)
>
> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
> index 7ef2d6a..f64a1c8 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -462,25 +462,9 @@ static int punch_hole(struct inode *inode, loff_t offset, loff_t len)
> loff_t off_start, off_end;
> int ret = 0;
>
> - if (f2fs_has_inline_data(inode)) {
> - struct page *page;
> - unsigned flags = AOP_FLAG_NOFS;
> - page = grab_cache_page_write_begin(inode->i_mapping, 0, flags);
> - if (IS_ERR(page))
> - return PTR_ERR(page);

We use following code because grab_cache_page_write_begin only use
NULL value as its error number.

if (!page)
return -ENOMEM;

> - if (offset + len > MAX_INLINE_DATA) {
> - ret = f2fs_convert_inline_data(inode, page, flags);
> - f2fs_put_page(page, 1);
> - if (ret)
> - return ret;
> - } else {
> - zero_user_segment(page, offset, offset + len);
> - SetPageUptodate(page);
> - set_page_dirty(page);
> - f2fs_put_page(page, 1);
> - return ret;
> - }
> - }
> + ret = f2fs_convert_inline_data(inode, NULL, AOP_FLAG_NOFS);
> + if (ret)
> + return ret;
>
> pg_start = ((unsigned long long) offset) >> PAGE_CACHE_SHIFT;
> pg_end = ((unsigned long long) offset + len) >> PAGE_CACHE_SHIFT;
> --
> 1.8.4.474.g128a96c
>
>
> ------------------------------------------------------------------------------
> Rapidly troubleshoot problems before they affect your business. Most IT
> organizations don't have a clear picture of how application performance
> affects their revenue. With AppDynamics, you get 100% visibility into your
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel



\
 
 \ /
  Last update: 2013-12-31 07:41    [W:0.086 / U:1.544 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site