[PATCH 2/2] erofs-utils: refactor: remove end argument from erofs_mapbh
胡 玮文
huww98 at outlook.com
Sat Jan 2 17:00:06 AEDT 2021
Hi Xiang,
If I understand it correctly, when ‘end == false’, the last buffer block will not get its ‘blkaddr’. I can’t see why we need this, but I might be missing something. And every invocation of this function just pass ‘true’ to this argument. I’m intended to remove some dead code which is never invoked.
> 在 2021年1月2日,13:15,Gao Xiang <hsiangkao at redhat.com> 写道:
>
> Hi Weiwen,
>
>> On Fri, Jan 01, 2021 at 05:11:58PM +0800, 胡玮文 wrote:
>> Signed-off-by: Hu Weiwen <huww98 at outlook.com>
>
> It seems that it drops the needed argument `end'.
>
> The original purpose of that is to get the beginning/end blkaddr of a buffer block
> in preparation for later use, some specific reasons to get rid of it?
> (also it only drops one extra line considering the diffstat....)
That’s because I already assumed ‘end == true’ and rewritten this function in [PATCH 1/2]
Thanks for your reply.
Hu Weiwen
>
> Thanks,
> Gao Xiang
>
>> ---
>> include/erofs/cache.h | 2 +-
>> lib/cache.c | 3 +--
>> lib/compress.c | 2 +-
>> lib/inode.c | 10 +++++-----
>> lib/xattr.c | 2 +-
>> mkfs/main.c | 2 +-
>> 6 files changed, 10 insertions(+), 11 deletions(-)
>>
>> diff --git a/include/erofs/cache.h b/include/erofs/cache.h
>> index 8c171f5..f8dff67 100644
>> --- a/include/erofs/cache.h
>> +++ b/include/erofs/cache.h
>> @@ -95,7 +95,7 @@ struct erofs_buffer_head *erofs_balloc(int type, erofs_off_t size,
>> struct erofs_buffer_head *erofs_battach(struct erofs_buffer_head *bh,
>> int type, unsigned int size);
>>
>> -erofs_blk_t erofs_mapbh(struct erofs_buffer_block *bb, bool end);
>> +erofs_blk_t erofs_mapbh(struct erofs_buffer_block *bb);
>> bool erofs_bflush(struct erofs_buffer_block *bb);
>>
>> void erofs_bdrop(struct erofs_buffer_head *bh, bool tryrevoke);
>> diff --git a/lib/cache.c b/lib/cache.c
>> index 3412a0b..9765cfd 100644
>> --- a/lib/cache.c
>> +++ b/lib/cache.c
>> @@ -329,9 +329,8 @@ static erofs_blk_t __erofs_mapbh(struct erofs_buffer_block *bb)
>> return blkaddr;
>> }
>>
>> -erofs_blk_t erofs_mapbh(struct erofs_buffer_block *bb, bool end)
>> +erofs_blk_t erofs_mapbh(struct erofs_buffer_block *bb)
>> {
>> - DBG_BUGON(!end);
>> struct erofs_buffer_block *t = last_mapped_block;
>> while (1) {
>> t = list_next_entry(t, list);
>> diff --git a/lib/compress.c b/lib/compress.c
>> index 86db940..2b1f93c 100644
>> --- a/lib/compress.c
>> +++ b/lib/compress.c
>> @@ -416,7 +416,7 @@ int erofs_write_compressed_file(struct erofs_inode *inode)
>>
>> memset(compressmeta, 0, Z_EROFS_LEGACY_MAP_HEADER_SIZE);
>>
>> - blkaddr = erofs_mapbh(bh->block, true); /* start_blkaddr */
>> + blkaddr = erofs_mapbh(bh->block); /* start_blkaddr */
>> ctx.blkaddr = blkaddr;
>> ctx.metacur = compressmeta + Z_EROFS_LEGACY_MAP_HEADER_SIZE;
>> ctx.head = ctx.tail = 0;
>> diff --git a/lib/inode.c b/lib/inode.c
>> index 3d634fc..60666bb 100644
>> --- a/lib/inode.c
>> +++ b/lib/inode.c
>> @@ -150,7 +150,7 @@ static int __allocate_inode_bh_data(struct erofs_inode *inode,
>> inode->bh_data = bh;
>>
>> /* get blkaddr of the bh */
>> - ret = erofs_mapbh(bh->block, true);
>> + ret = erofs_mapbh(bh->block);
>> DBG_BUGON(ret < 0);
>>
>> /* write blocks except for the tail-end block */
>> @@ -524,7 +524,7 @@ int erofs_prepare_tail_block(struct erofs_inode *inode)
>> bh->op = &erofs_skip_write_bhops;
>>
>> /* get blkaddr of bh */
>> - ret = erofs_mapbh(bh->block, true);
>> + ret = erofs_mapbh(bh->block);
>> DBG_BUGON(ret < 0);
>> inode->u.i_blkaddr = bh->block->blkaddr;
>>
>> @@ -634,7 +634,7 @@ int erofs_write_tail_end(struct erofs_inode *inode)
>> int ret;
>> erofs_off_t pos;
>>
>> - erofs_mapbh(bh->block, true);
>> + erofs_mapbh(bh->block);
>> pos = erofs_btell(bh, true) - EROFS_BLKSIZ;
>> ret = dev_write(inode->idata, pos, inode->idata_size);
>> if (ret)
>> @@ -871,7 +871,7 @@ void erofs_fixup_meta_blkaddr(struct erofs_inode *rootdir)
>> struct erofs_buffer_head *const bh = rootdir->bh;
>> erofs_off_t off, meta_offset;
>>
>> - erofs_mapbh(bh->block, true);
>> + erofs_mapbh(bh->block);
>> off = erofs_btell(bh, false);
>>
>> if (off > rootnid_maxoffset)
>> @@ -890,7 +890,7 @@ erofs_nid_t erofs_lookupnid(struct erofs_inode *inode)
>> if (!bh)
>> return inode->nid;
>>
>> - erofs_mapbh(bh->block, true);
>> + erofs_mapbh(bh->block);
>> off = erofs_btell(bh, false);
>>
>> meta_offset = blknr_to_addr(sbi.meta_blkaddr);
>> diff --git a/lib/xattr.c b/lib/xattr.c
>> index 49ebb9c..8b7bcb1 100644
>> --- a/lib/xattr.c
>> +++ b/lib/xattr.c
>> @@ -575,7 +575,7 @@ int erofs_build_shared_xattrs_from_path(const char *path)
>> }
>> bh->op = &erofs_skip_write_bhops;
>>
>> - erofs_mapbh(bh->block, true);
>> + erofs_mapbh(bh->block);
>> off = erofs_btell(bh, false);
>>
>> sbi.xattr_blkaddr = off / EROFS_BLKSIZ;
>> diff --git a/mkfs/main.c b/mkfs/main.c
>> index c63b274..1c23560 100644
>> --- a/mkfs/main.c
>> +++ b/mkfs/main.c
>> @@ -304,7 +304,7 @@ int erofs_mkfs_update_super_block(struct erofs_buffer_head *bh,
>> round_up(EROFS_SUPER_END, EROFS_BLKSIZ);
>> char *buf;
>>
>> - *blocks = erofs_mapbh(NULL, true);
>> + *blocks = erofs_mapbh(NULL);
>> sb.blocks = cpu_to_le32(*blocks);
>> sb.root_nid = cpu_to_le16(root_nid);
>> memcpy(sb.uuid, sbi.uuid, sizeof(sb.uuid));
>> --
>> 2.30.0
>>
>
More information about the Linux-erofs
mailing list