svn commit: r356108 - head/sys/geom/vinum

Alexander Motin mav at FreeBSD.org
Fri Jan 3 17:50:17 UTC 2020


On 03.01.2020 12:26, Brooks Davis wrote:
> On Fri, Dec 27, 2019 at 01:36:53AM +0000, Alexander Motin wrote:
>> Author: mav
>> Date: Fri Dec 27 01:36:53 2019
>> New Revision: 356108
>> URL: https://svnweb.freebsd.org/changeset/base/356108
>>
>> Log:
>>   Reimplement gvinum orphanization.
>>   
>>   gvinum was the only GEOM class, using consumer nstart/nend fields. Making
>>   it do its own accounting for orphanization purposes allows in perspective
>>   to remove burden of that expensive for SMP accounting from GEOM.
>>   
>>   Also the previous implementation spinned in a tight event loop, waiting
>>   for all active BIOs to complete, while the new one knows exactly when it
>>   is possible to close the consumer.
> 
> Do you know if there are other cases of gvinum being a weird GEOM class?
> If it's going to require more rounds of major refactoring, maybe we
> should look into deprecating it for 14.

I've never used it myself, so may not know all of its issues.  From what
I briefly saw I have no other major objections about its code quality,
other than it probably being not very fast, considering it is
single-threaded and does not support unmapped I/O.  It does not support
resize, but not sure it is a big issue for its use case.  But mostly the
same, just a bit lighter, I can say about graid too, so gvinum does not
look particularly bad for me, other than unlike graid I don't have any
specific use case for it.

-- 
Alexander Motin


More information about the svn-src-head mailing list