[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1151f059-fd08-4dba-9448-c8c535ea8700@linux.alibaba.com>
Date: Wed, 7 May 2025 10:42:24 +0800
From: Gao Xiang <hsiangkao@...ux.alibaba.com>
To: Hongbo Li <lihongbo22@...wei.com>, xiang@...nel.org, chao@...nel.org,
zbestahu@...il.com, jefflexu@...ux.alibaba.com
Cc: dhavale@...gle.com, linux-erofs@...ts.ozlabs.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] erofs: fix file handle encoding for 64-bit NIDs
On 2025/5/7 09:53, Hongbo Li wrote:
>
>
> On 2025/5/6 23:10, Gao Xiang wrote:
>> Hi Hongbo,
>>
>> On 2025/4/29 21:42, Hongbo Li wrote:
>>> In erofs, the inode number has the location information of
>>> files. The default encode_fh uses the ino32, this will lack
>>> of some information when the file is too big. So we need
>>> the internal helpers to encode filehandle.
>>
>> EROFS uses NID to indicate the on-disk inode offset, which can
>> exceed 32 bits. However, the default encode_fh uses the ino32,
>> thus it doesn't work if the image is large than 128GiB.
>>
> Thanks for helping me correct my description.
>
> Here, an image larger than 128GiB won't trigger NID reversal. It requires a 128GiB file inside, and the NID of the second file may exceed U32 during formatting. So here can we change it to "However, the default encode_fh uses the ino32, thus it may not work if there exist a file which is large than 128GiB." ?
Why? Currently EROFS doesn't arrange inode metadata
together, but close to its data (or its directory)
if possible for data locality.
So NIDs can exceed 32-bit for images larger than
128 GiB.
Thanks,
Gao Xiang
>
> Thanks,
> Hongbo
>
Powered by blists - more mailing lists