On Sep 4, 2014, at 6:51 AM, John Baldwin <j...@freebsd.org> wrote:

> On Thursday, September 04, 2014 03:31:49 AM Benno Rice wrote:
>> Author: benno
>> Date: Thu Sep  4 03:31:48 2014
>> New Revision: 271085
>> URL: http://svnweb.freebsd.org/changeset/base/271085
>> 
>> Log:
>>  Systems with lots of geom providers can end up with a kern.geom.confxml
>>  value too large for the buffer allocated. Work around this by retrying
>>  a few times with larger buffer sizes.
> 
> Are these systems having lots of changes to the GEOM tree while the sysctl 
> handler is being invoked?  If the tree is static, the first call with an old 
> of NULL should return the correct length in 'l' regardless of the size as it 
> generates the entire buffer and SYSCTL_OUT's it.  (It doesn't do it piecemeal 
> and fail on ENOMEM part way through the way some other broken sysctl handlers 
> do.)

These systems have a lot of drives in them and around the time when we’re 
trying to enumerate there can be lots of activity. In the case where the tree 
hasn’t changed we’re not doing that much extra work here and it saves us having 
to retry everything that happens around the geom_getxml calls inside libgeom 
when the tree does change.
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to