[PATCH] erofs-utils: fix battach on full buffer block
sehuww at mail.scut.edu.cn
Wed Jan 20 15:57:39 AEDT 2021
> 在 2021年1月19日，23:43，Gao Xiang <hsiangkao at redhat.com> 写道：
> Hi Weiwen,
>> On Tue, Jan 19, 2021 at 02:02:56PM +0800, 胡玮文 wrote:
>> Hi Xiang,
>> After further investgate, this bug will not reveal in any released version of
>> mkfs.erofs. Previous patch v5  will map all allocated bb when erofs_mapbh()
>> is called on an already mapped bb, which triggers this bug. before that patch,
>> under the same condition, __erofs_battach() will only be called on bb which is
>> not mapped, thus no need to update `tail_blkaddr'.
> Good to know this, thanks! I haven't looked into that (I will test it this
> weekend.) IMO, although this is not a regression, yet it seems it's potential
> harmful if we didn't notice this... So I think a proper testcase is still
> useful to look after this... If you have extra time, could you help on it?
I’m working on this. I have written a test case for this. And I’m also working on setting up GitHub actions to run tests automatically. So far, I’ve got uncompressed tests works, but when lz4 is enable, all test (except 001) fail. I have not found out why. You may see my progress at https://github.com/huww98/erofs-utils/tree/experimental-tests. I will send patches once everything is sorted out.
> Also, without the detail of this, I think the fix might be folded into
> the original patchset (could you resend it?). In addition, I think after
You mean add a new commit [PATCH v6 3/3], or merge it into [PATCH v7 2/2]? I send it as a separate patch set because it may be merged independent of the cache.c optimization.
> last_mapped_block is introduced, we might not need tail_blkaddr anymore,
> not sure. But I'm very cautious about this in case of introducing any
> new regression...
I think we still need it, because already mapped bb may be dropped, last_map_block does not always reflect tail_blkaddr.
> Gao Xiang
>> : https://email@example.com/
>> Hu Weiwen
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Linux-erofs