[PATCH v3 3/4] erofs-utils: mfks: add rebuild FULLDATA for combined EROFS images

Lucas Karpinski lkarpinski at nvidia.com
Wed Apr 15 23:30:50 AEST 2026


On 2026-04-15 3:47 a.m., Gao Xiang wrote:
> 
> 
> On 2026/4/15 11:35, zhaoyifan (H) wrote:
>> This patch incorrectly handles inline inode:
>>
>> Reproduce in erofs-utils directory:
>>      mkfs/mkfs.erofs 1.erofs man/
>>      mkfs/mkfs.erofs 2.erofs docs/
>>      mkfs/mkfs.erofs --clean=data merged.erofs 1.erofs 2.erofs
>>
>> Then PERFORMANCE.md in merged.erofs contains incorrect data after
>> offset 0x2000.
>>
>> Fixed with following diff:
>>
>> diff --git a/lib/inode.c b/lib/inode.c
>>    index bd10e26..36dce56 100644
>>    --- a/lib/inode.c
>>    +++ b/lib/inode.c
>>    @@ -683,6 +683,13 @@ static int erofs_write_unencoded_data(struct
>> erofs_inode *inode,
>>
>>          /* read the tail-end data */
>>          if (inode->idata_size) {
>>    +             /*
>>    +              * If inode->idata is already present, the caller has
>> prepared
>>    +              * the tail data and nothing more needs to be done here.
>>    +              */
>>    +             if (inode->idata)
>>    +                     return 0;
> 
> Yes, it should be fixed as:
>     /*
>      * Read the tail-end data if inode->idata is NULL; if the tail data
>      * has been prepared then nothing more needs to be done here.
>      */
>     if (inode->idata_size && !inode->idata) {
>     }
> 
> ...
> 
>>> +#include "liberofs_cache.h"
>> Unnecessary include `liberofs_cache.h`
> 
> That would be nice to be addressed too.
> 
> 
> I've applied [PATCH 1 and 2], could you send v4 to address this?
> 
> Thanks,
> Gao Xiang

Thanks for the catch Zhao and ACK will add the changes.


More information about the Linux-erofs mailing list