[PATCH v2] erofs-utils: mkfs: use scandir for stable output

Gao Xiang hsiangkao at linux.alibaba.com
Tue Dec 3 13:40:50 AEDT 2024



On 2024/12/3 10:36, Gao Xiang wrote:
> 
> 
> On 2024/12/3 10:20, Jooyung Han wrote:
>> Hi Gao,
>>
>> I found that in the loop erofs_iget_from_srcpath() is called in
>> different order due to readdir and erofs_iget_from_srcpath() calls
>> erofs_new_inode() which fills i_ino[0] for newly created inode. I
>> think this i_ino[0] having different values caused the difference in
>> the output.
> 
> Oh, okay, that makes sense, I think we'd better move
> 
> inode->i_ino[0] = sbi->inos++;  /* inode serial number */
> 
> to erofs_mkfs_dump_tree()  (since we'd better to leave
> i_ino[0] stable even without dumping from localdir later.)
> and even clean up a bit.
> 
> If you don't have more time to clean up this, let's just
> commit a patch to fix this directly.

Actually I think `erofs_prepare_inode_buffer()` is a good place
to fill i_ino[0], since it will stablize the exact physical
place of an on-disk inode.

Thanks,
Gao Xiang

> 
> Thanks,
> Gao Xiang



More information about the Linux-erofs mailing list