[PATCH] f2fs: make fibmap consistent with fiemap for compression chunk

From: Daeho Jeong
Date: Thu Aug 27 2020 - 23:50:22 EST


From: Daeho Jeong <daehojeong@xxxxxxxxxx>

Currently fibmap returns zero address for compression chunk. But it
is not consistent with the output of fiemap, since fiemap returns
real pysical block address related to the compression chunk. Therefore
I suggest fibmap returns the same output with fiemap.

Signed-off-by: Daeho Jeong <daehojeong@xxxxxxxxxx>
---
fs/f2fs/data.c | 33 ---------------------------------
1 file changed, 33 deletions(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index c1b676be67b9..8c26c5d0c778 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -3708,36 +3708,6 @@ static int f2fs_set_data_page_dirty(struct page *page)
return 0;
}

-
-static sector_t f2fs_bmap_compress(struct inode *inode, sector_t block)
-{
-#ifdef CONFIG_F2FS_FS_COMPRESSION
- struct dnode_of_data dn;
- sector_t start_idx, blknr = 0;
- int ret;
-
- start_idx = round_down(block, F2FS_I(inode)->i_cluster_size);
-
- set_new_dnode(&dn, inode, NULL, NULL, 0);
- ret = f2fs_get_dnode_of_data(&dn, start_idx, LOOKUP_NODE);
- if (ret)
- return 0;
-
- if (dn.data_blkaddr != COMPRESS_ADDR) {
- dn.ofs_in_node += block - start_idx;
- blknr = f2fs_data_blkaddr(&dn);
- if (!__is_valid_data_blkaddr(blknr))
- blknr = 0;
- }
-
- f2fs_put_dnode(&dn);
- return blknr;
-#else
- return 0;
-#endif
-}
-
-
static sector_t f2fs_bmap(struct address_space *mapping, sector_t block)
{
struct inode *inode = mapping->host;
@@ -3753,9 +3723,6 @@ static sector_t f2fs_bmap(struct address_space *mapping, sector_t block)
if (mapping_tagged(mapping, PAGECACHE_TAG_DIRTY))
filemap_write_and_wait(mapping);

- if (f2fs_compressed_file(inode))
- blknr = f2fs_bmap_compress(inode, block);
-
if (!get_data_block_bmap(inode, block, &tmp, 0))
blknr = tmp.b_blocknr;
out:
--
2.28.0.402.g5ffc5be6b7-goog