summaryrefslogtreecommitdiffstats
path: root/drivers/staging/erofs/data.c
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2019-01-15 09:42:21 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-15 15:52:26 +0100
commit3b423417d0d1d5abd46dfc7c3df9977bcb89f3c0 (patch)
tree15011e03c517106d50e384f63b2add94c9d8edb2 /drivers/staging/erofs/data.c
parent6af7b4830569a125e65a1123a3ac1db44e999929 (diff)
staging: erofs: clean up erofs_map_blocks_iter
This patch cleans up erofs_map_blocks* function and structure family, just simply the code, no logic change. Reviewed-by: Gao Xiang <gaoxiang25@huawei.com> Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Gao Xiang <gaoxiang25@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/erofs/data.c')
-rw-r--r--drivers/staging/erofs/data.c31
1 files changed, 5 insertions, 26 deletions
diff --git a/drivers/staging/erofs/data.c b/drivers/staging/erofs/data.c
index 329fa4fa3e9c..9c471f08ffd4 100644
--- a/drivers/staging/erofs/data.c
+++ b/drivers/staging/erofs/data.c
@@ -165,37 +165,16 @@ err_out:
return err;
}
-int erofs_map_blocks_iter(struct inode *inode,
- struct erofs_map_blocks *map,
- struct page **mpage_ret, int flags)
-{
- /* by default, reading raw data never use erofs_map_blocks_iter */
- if (unlikely(!is_inode_layout_compression(inode))) {
- if (*mpage_ret)
- put_page(*mpage_ret);
- *mpage_ret = NULL;
-
- return erofs_map_blocks(inode, map, flags);
- }
-
-#ifdef CONFIG_EROFS_FS_ZIP
- return z_erofs_map_blocks_iter(inode, map, mpage_ret, flags);
-#else
- /* data compression is not available */
- return -ENOTSUPP;
-#endif
-}
-
int erofs_map_blocks(struct inode *inode,
struct erofs_map_blocks *map, int flags)
{
if (unlikely(is_inode_layout_compression(inode))) {
- struct page *mpage = NULL;
- int err;
+ int err = z_erofs_map_blocks_iter(inode, map, flags);
- err = erofs_map_blocks_iter(inode, map, &mpage, flags);
- if (mpage)
- put_page(mpage);
+ if (map->mpage) {
+ put_page(map->mpage);
+ map->mpage = NULL;
+ }
return err;
}
return erofs_map_blocks_flatmode(inode, map, flags);