Re: [PATCH] btrfs: replace a wrong memset() with memzero_page()

Qu Wenruo
2022-03-29T10:49:27Z

On 2022/3/29 17:57, Filipe Manana wrote:
> On Mon, Mar 28, 2022 at 08:51:21PM +0200, David Sterba wrote:
>> On Fri, Mar 25, 2022 at 05:37:59PM +0800, Qu Wenruo wrote:
>>> The original code is not really setting the memory to 0x00 but 0x01.
>>>
>>> To prevent such problem from happening, use memzero_page() instead.
>>
>> This should at least mention we think that setting it to 0 is right, as
>> you call it wrong but give no hint why it's thought to be wrong.
>
> My guess is that something different from zero makes it easier to spot
> the problem in user space, as 0 is not uncommon (holes, prealloced extents)
> and may get unnoticed by applications/users.

OK, that makes some sense.

But shouldn't user space tool get an -EIO directly?

As the corrupted range won't have PageUptodate set anyway.

Thanks,
Qu
>
> I don't see a good reason to change this behaviour. Maybe it's just the
> label name 'zeroit' that makes it confusing. >
>>
>>> Since we're here, also make @len const since it's just sectorsize.
>>
>> Please don't do that, adding const is fine when the line gets touched
>> but otherwise adding it to an unrelated fix is not what I want to
>> encourage.
>