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-head mailing list