From: "胡 玮文" <huww98@outlook.com>
To: Gao Xiang <hsiangkao@redhat.com>
Cc: "linux-erofs@lists.ozlabs.org" <linux-erofs@lists.ozlabs.org>
Subject: Re: [PATCH 2/2] erofs-utils: refactor: remove end argument from erofs_mapbh
Date: Sat, 2 Jan 2021 06:00:06 +0000 [thread overview]
Message-ID: <ME3P282MB193853B54A77E4698E4869BEC0D40@ME3P282MB1938.AUSP282.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <20210102051459.GB3732199@xiangao.remote.csb>
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@redhat.com> 写道:
>
> Hi Weiwen,
>
>> On Fri, Jan 01, 2021 at 05:11:58PM +0800, 胡玮文 wrote:
>> Signed-off-by: Hu Weiwen <huww98@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
>>
>
next prev parent reply other threads:[~2021-01-02 6:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210101091158.13896-1-huww98@outlook.com>
2021-01-01 9:11 ` [PATCH 2/2] erofs-utils: refactor: remove end argument from erofs_mapbh 胡玮文
2021-01-02 5:14 ` Gao Xiang
2021-01-02 6:00 ` 胡 玮文 [this message]
2021-01-02 9:27 ` Gao Xiang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ME3P282MB193853B54A77E4698E4869BEC0D40@ME3P282MB1938.AUSP282.PROD.OUTLOOK.COM \
--to=huww98@outlook.com \
--cc=hsiangkao@redhat.com \
--cc=linux-erofs@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).