Commit 5e744cb6 authored by Gao Xiang's avatar Gao Xiang
Browse files

erofs: remove need_kmap in erofs_read_metabuf()



 - need_kmap is always true except for a ztailpacking case; thus, just
   open-code that one;

 - The upcoming metadata compression will add a new boolean, so simplify
   this first.

Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
Reviewed-by: default avatarChao Yu <chao@kernel.org>
Link: https://lore.kernel.org/r/20250714090907.4095645-1-hsiangkao@linux.alibaba.com
parent 1a5223c1
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -65,10 +65,10 @@ void erofs_init_metabuf(struct erofs_buf *buf, struct super_block *sb)
}

void *erofs_read_metabuf(struct erofs_buf *buf, struct super_block *sb,
			 erofs_off_t offset, bool need_kmap)
			 erofs_off_t offset)
{
	erofs_init_metabuf(buf, sb);
	return erofs_bread(buf, offset, need_kmap);
	return erofs_bread(buf, offset, true);
}

int erofs_map_blocks(struct inode *inode, struct erofs_map_blocks *map)
@@ -118,7 +118,7 @@ int erofs_map_blocks(struct inode *inode, struct erofs_map_blocks *map)
	pos = ALIGN(erofs_iloc(inode) + vi->inode_isize +
		    vi->xattr_isize, unit) + unit * chunknr;

	idx = erofs_read_metabuf(&buf, sb, pos, true);
	idx = erofs_read_metabuf(&buf, sb, pos);
	if (IS_ERR(idx)) {
		err = PTR_ERR(idx);
		goto out;
@@ -299,7 +299,7 @@ static int erofs_iomap_begin(struct inode *inode, loff_t offset, loff_t length,
		struct erofs_buf buf = __EROFS_BUF_INITIALIZER;

		iomap->type = IOMAP_INLINE;
		ptr = erofs_read_metabuf(&buf, sb, mdev.m_pa, true);
		ptr = erofs_read_metabuf(&buf, sb, mdev.m_pa);
		if (IS_ERR(ptr))
			return PTR_ERR(ptr);
		iomap->inline_data = ptr;
+1 −1
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ static int erofs_fileio_scan_folio(struct erofs_fileio *io, struct folio *folio)
			void *src;

			src = erofs_read_metabuf(&buf, inode->i_sb,
						 map->m_pa + ofs, true);
						 map->m_pa + ofs);
			if (IS_ERR(src)) {
				err = PTR_ERR(src);
				break;
+1 −1
Original line number Diff line number Diff line
@@ -274,7 +274,7 @@ static int erofs_fscache_data_read_slice(struct erofs_fscache_rq *req)
		size_t size = map.m_llen;
		void *src;

		src = erofs_read_metabuf(&buf, sb, map.m_pa, true);
		src = erofs_read_metabuf(&buf, sb, map.m_pa);
		if (IS_ERR(src))
			return PTR_ERR(src);

+4 −4
Original line number Diff line number Diff line
@@ -39,10 +39,10 @@ static int erofs_read_inode(struct inode *inode)
	void *ptr;
	int err = 0;

	ptr = erofs_read_metabuf(&buf, sb, erofs_pos(sb, blkaddr), true);
	ptr = erofs_read_metabuf(&buf, sb, erofs_pos(sb, blkaddr));
	if (IS_ERR(ptr)) {
		err = PTR_ERR(ptr);
		erofs_err(sb, "failed to get inode (nid: %llu) page, err %d",
		erofs_err(sb, "failed to read inode meta block (nid: %llu): %d",
			  vi->nid, err);
		goto err_out;
	}
@@ -78,10 +78,10 @@ static int erofs_read_inode(struct inode *inode)

			memcpy(&copied, dic, gotten);
			ptr = erofs_read_metabuf(&buf, sb,
					erofs_pos(sb, blkaddr + 1), true);
					erofs_pos(sb, blkaddr + 1));
			if (IS_ERR(ptr)) {
				err = PTR_ERR(ptr);
				erofs_err(sb, "failed to get inode payload block (nid: %llu), err %d",
				erofs_err(sb, "failed to read inode payload block (nid: %llu): %d",
					  vi->nid, err);
				goto err_out;
			}
+1 −1
Original line number Diff line number Diff line
@@ -385,7 +385,7 @@ void erofs_put_metabuf(struct erofs_buf *buf);
void *erofs_bread(struct erofs_buf *buf, erofs_off_t offset, bool need_kmap);
void erofs_init_metabuf(struct erofs_buf *buf, struct super_block *sb);
void *erofs_read_metabuf(struct erofs_buf *buf, struct super_block *sb,
			 erofs_off_t offset, bool need_kmap);
			 erofs_off_t offset);
int erofs_map_dev(struct super_block *sb, struct erofs_map_dev *dev);
int erofs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
		 u64 start, u64 len);
Loading