From owner-svn-src-head@FreeBSD.ORG Thu Sep 4 16:29:29 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9087D9FE for ; Thu, 4 Sep 2014 16:29:29 +0000 (UTC) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5B648114F for ; Thu, 4 Sep 2014 16:29:29 +0000 (UTC) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by gateway2.nyi.internal (Postfix) with ESMTP id 7FE3720424 for ; Thu, 4 Sep 2014 12:29:27 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Thu, 04 Sep 2014 12:29:27 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-type:mime-version:subject:from :in-reply-to:date:cc:content-transfer-encoding:message-id :references:to; s=smtpout; bh=oVzTDre9eLFBF/xtAkRfzhyxBgU=; b=it fypXgCIc3QqM16ujzFXW4i2C2HO0r7ZN/ubPGvLijXFQCO+Q6t/mLmBM0u6Jz1Pf iGACwtCJ2qnX4N53UysYJdAB95LKuH2qqntz3aGqsf9+RS2KQWiTqbMX4Eyvt7Zj NOzyfEjGSTgJNo5TigsQfXvHaLy1wnVBDAilvEC0Y= X-Sasl-enc: 1FZvFKuIm0OXMseHBmaOC0dF3JIQQhpfjcvhC26Q7Jlf 1409848167 Received: from mitterweile2.jeamland.net (unknown [67.182.141.248]) by mail.messagingengine.com (Postfix) with ESMTPA id 4269668008D; Thu, 4 Sep 2014 12:29:26 -0400 (EDT) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: svn commit: r271085 - head/lib/libgeom From: Benno Rice In-Reply-To: <3000146.5OWvozVApa@ralph.baldwin.cx> Date: Thu, 4 Sep 2014 09:29:24 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <10BDD3FC-EED9-4A47-BAF4-8F3C2925A3E3@FreeBSD.org> References: <201409040331.s843Vn5c048905@svn.freebsd.org> <3000146.5OWvozVApa@ralph.baldwin.cx> To: John Baldwin X-Mailer: Apple Mail (2.1878.6) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2014 16:29:29 -0000 On Sep 4, 2014, at 6:51 AM, John Baldwin 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 >>=20 >> 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. >=20 > Are these systems having lots of changes to the GEOM tree while the = sysctl=20 > handler is being invoked? If the tree is static, the first call with = an old=20 > of NULL should return the correct length in 'l' regardless of the size = as it=20 > generates the entire buffer and SYSCTL_OUT's it. (It doesn't do it = piecemeal=20 > and fail on ENOMEM part way through the way some other broken sysctl = handlers=20 > do.) These systems have a lot of drives in them and around the time when = we=92re trying to enumerate there can be lots of activity. In the case = where the tree hasn=92t changed we=92re 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.=