From 48ab25f486a3f730db825758b9728fffdf237574 Mon Sep 17 00:00:00 2001
From: Weichao Guo <guoweichao@huawei.com>
Date: Sat, 14 Oct 2017 08:13:32 +0800
Subject: [PATCH] f2fs: skip searching non-exist range in truncate_hole

Let's skip entire non-exist area to speed up truncate_hole by
using get_next_page_offset.

Signed-off-by: Weichao Guo <guoweichao@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@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 8fe95f8b16b12..56232a72d2a39 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -857,7 +857,7 @@ int truncate_hole(struct inode *inode, pgoff_t pg_start, pgoff_t pg_end)
 		err = get_dnode_of_data(&dn, pg_start, LOOKUP_NODE);
 		if (err) {
 			if (err == -ENOENT) {
-				pg_start++;
+				pg_start = get_next_page_offset(&dn, pg_start);
 				continue;
 			}
 			return err;
-- 
2.30.2