[PATCH v3 1/5] erofs: introduce erofs_xattr_iter_fixup_aligned() helper
Gao Xiang
hsiangkao at linux.alibaba.com
Tue May 30 13:47:18 AEST 2023
On 2023/5/30 11:42, Jingbo Xu wrote:
>
>
> On 5/29/23 3:41 PM, Gao Xiang wrote:
>> Hi,
>>
>> On 2023/5/18 10:45, Jingbo Xu wrote:
>>> Introduce erofs_xattr_iter_fixup_aligned() helper where
>>> it.ofs <= EROFS_BLKSIZ is mandatory.
>>>
>>> Signed-off-by: Jingbo Xu <jefflexu at linux.alibaba.com>
>>> ---
>>> fs/erofs/xattr.c | 79 +++++++++++++++++++++---------------------------
>>> 1 file changed, 35 insertions(+), 44 deletions(-)
>>>
>>> diff --git a/fs/erofs/xattr.c b/fs/erofs/xattr.c
>>> index bbfe7ce170d2..b79be2a556ba 100644
>>> --- a/fs/erofs/xattr.c
>>> +++ b/fs/erofs/xattr.c
>>> @@ -29,6 +29,28 @@ struct xattr_iter {
>>> unsigned int ofs;
>>> };
>>> +static inline int erofs_xattr_iter_fixup(struct xattr_iter *it)
>>> +{
>>> + if (it->ofs < it->sb->s_blocksize)
>>> + return 0;
>>> +
>>> + it->blkaddr += erofs_blknr(it->sb, it->ofs);
>>> + it->kaddr = erofs_read_metabuf(&it->buf, it->sb, it->blkaddr,
>>> EROFS_KMAP);
>>
>> could we use a new buf interface to init_metabuf at once?
>
> As discussed offline, I think the following unified API is preferred:
>
> ```
> int erofs_xattr_iter_fixup(struct xattr_iter *it, bool nospan)
>
> {
> if (it->ofs < it->sb->s_blocksize)
> return 0;
>
> if (nospan && it->ofs != it->sb->s_blocksize) {
> DBG_BUGON(1);
> return -EFSCORRUPTED;
> }
>
> ...
> }
> ```
Yeah, could you send the next version for this?
Thanks,
Gao Xiang
>
More information about the Linux-erofs
mailing list