[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <691acb44-aaa6-10a8-4b03-d2a3b68421e5@linux.alibaba.com>
Date: Mon, 13 Mar 2023 20:07:32 +0800
From: Gao Xiang <hsiangkao@...ux.alibaba.com>
To: Jingbo Xu <jefflexu@...ux.alibaba.com>, xiang@...nel.org,
chao@...nel.org, huyue2@...lpad.com, linux-erofs@...ts.ozlabs.org
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 1/2] erofs: avoid hardcoded blocksize for subpage block
support
On 2023/3/6 18:01, Jingbo Xu wrote:
> As the first step of converting hardcoded blocksize to that specified in
> on-disk superblock, convert all call sites of hardcoded blocksize to
> sb->s_blocksize except for:
>
> 1) use sbi->blkszbits instead of sb->s_blocksize in
> erofs_superblock_csum_verify() since sb->s_blocksize has not been
> updated with the on-disk blocksize yet when the function is called.
>
> 2) use inode->i_blkbits instead of sb->s_blocksize in erofs_bread(),
> since the inode operated on may be an anonymous inode in fscache mode.
> Currently the anonymous inode is allocated from an anonymous mount
> maintained in erofs, while in the near future we may allocate anonymous
> inodes from a generic API directly and thus have no access to the
> anonymous inode's i_sb. Thus we keep the block size in i_blkbits for
> anonymous inodes in fscache mode.
>
> Be noted that this patch only gets rid of the hardcoded blocksize, in
> preparation for actually setting the on-disk block size in the following
> patch. The hard limit of constraining the block size to PAGE_SIZE still
> exists until the next patch.
>
> Signed-off-by: Jingbo Xu <jefflexu@...ux.alibaba.com>
> Reviewed-by: Gao Xiang <hsiangkao@...ux.alibaba.com>
> ---
...
> static int erofs_superblock_csum_verify(struct super_block *sb, void *sbdata)
> {
> + size_t len = (1 << EROFS_SB(sb)->blkszbits) - EROFS_SUPER_OFFSET;
Here len could be < 0, I think we could calculate crc32 as below:
size_t len = 1 << EROFS_SB(sb)->blkszbits;
...
if (len > EROFS_SUPER_OFFSET) (>= 2k)
len -= EROFS_SUPER_OFFSET;
Thanks,
Gao Xiang
Powered by blists - more mailing lists