svn commit: r297396 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Alexander Motin
mav at FreeBSD.org
Tue Mar 29 20:18:22 UTC 2016
On 29.03.16 23:04, Andriy Gapon wrote:
> On 29/03/2016 22:18, Alexander Motin wrote:
>> Author: mav
>> Date: Tue Mar 29 19:18:34 2016
>> New Revision: 297396
>> URL: https://svnweb.freebsd.org/changeset/base/297396
>>
>> Log:
>> Modify "4958 zdb trips assert on pools with ashift >= 0xe".
>>
>> Unlike Illumos FreeBSD has concept of logical ashift, that specifies
>> really minimal vdev block size that can be accessed. This knowledge
>> allows properly pad physical I/O and correctly assert its alignment.
>>
>> This change fixes L2ARC write errors when device has logical sector
>> size above 512 bytes.
>>
>> MFC after: 1 month
>
> Alexander,
>
> I believe that this is wrong.
> We must not modify any parameters of a physical zio including its size.
> Otherwise we are going to overwrite something that an originator of the I/O did
> not intend to overwrite. Here we should have a check (or just the assertion)
> that the zio conforms to disk characteristics. It's the code that creates
> physical zio-s that should be made aware of the alignment requirements.
Generally I agree with your point. I also had such thoughts. Though
this way is much easier and less invasive and I can not find any real
failure scenario for it. I will happily revert it when better solution
is ready.
> Please see my work in this direction: https://reviews.freebsd.org/D2789
> (BTW, I added you as a reviewer there).
Sure. I'll take a look on that.
--
Alexander Motin
More information about the svn-src-all
mailing list