Hi,

One comment as following.

> -----Original Message-----
> From: Jaegeuk Kim [mailto:jaegeuk....@samsung.com]
> Sent: Friday, December 27, 2013 12:00 PM
> Cc: linux-fsde...@vger.kernel.org; linux-kernel@vger.kernel.org; 
> linux-f2fs-de...@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....@samsung.com>

Reviewed-by: Chao Yu <chao2...@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-de...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to