From nobody Mon Aug 10 14:26:22 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hJcWN3LJ8z6nrdH; Mon, 10 Aug 2026 14:26:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hJcWN1wdXz3XN7; Mon, 10 Aug 2026 14:26:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786371984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=msZJBpuDs+xh2BxX4zptNqLqGyu5KzUGz4N95htVZ3E=; b=UD8ShZP+vcBJP4zP/SF7k4Tz9XZI6y56R7XCOuRUny83T5QCrKuzNgzQInP5PY5P/1nZV4 quWjmVQFI0V6/n+DyOBIh3rhJfcQon1gQyLAIqGIPERdtt8EFGlZVnA4Ioe8QN2coTIKzg R7PnkGeiZwHpGbBvhUTRU6W0lQ96+fZr6BkvQRgvOORSV+RzSfgRSiQ9tM5BRtMui8O3Gd Ub6mc2N8Jv+/i4gNq+a9Rawwna6tukK7LygJWgDQYkQum04ll2DTHzSGQpnU72L7EHqcjW Oyu5jV4RYtXoWIwZQLBLtzM1HOE5AHcCHcr0hzjFgNaWI9v1tzjyInwzeDoDqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786371984; a=rsa-sha256; cv=none; b=VXGVwIu0bg5NYREff2fBKwx9E6xUwT9V2G+v/fLEQyCVHi1QS+bKlu3FYGUKhbRe/NRWSf 9zGYpcduuWuZXU0X3yiKOr+sBcM1PF2HZPVS6iiRnDECNiQZ3wHiQIhwJRmc9g6poJtg6P wW7gXgDoAnpKlGPt1aefdj0VMLt9AZXy3n78kq8SoYeq5r9ZwkXaoQhMebKiyunkLWmtP6 RxIt75/iAbdSexqymvPKw1hjxemPZrr617kDkkYVbFjAo4v6/8f0RSIFEsBQ2NKJz6CyOP HpuJVdENoXzOAsuKp3NRbOad30N+lo04ZDFy+ExAS0vKaHjkTuzxIRs4A9+s5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786371984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=msZJBpuDs+xh2BxX4zptNqLqGyu5KzUGz4N95htVZ3E=; b=a/24g/yPaOQ3TcgkgKMghvXGyiyg2gJiEnnCnF2hTx2w9rXuxNxE0GfgYbeI2ILZDXPt+C VXZ/ZTAexbom3u+Su74zk4Q+AaC2Mk2jl8mm3d1dYlgC1QGVWscrFtZQV6N70T5iVUBB+a zzyKEgN5iXS4qDPLdEgquW9AOfNOqJlPKTAs1kf1qZCDpFSgqC8uhgQPYLvlFijSr1POz7 h+59sigy5RmtEBD2f6/yibbSs2OX9sixc4DK6PijF+KPK/EM5JsaTgyO/vI8O9QvokEhwI Lt3TWCCJLIkctcNYbFCJeQxcuzS2r/O2o7+4FRmTqQwQRjsCNS9+nnthP0VDuQ== Received: from [10.9.4.95] (unknown [209.182.120.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: kevans/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4hJcWM3c0fz11Bk; Mon, 10 Aug 2026 14:26:23 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Message-ID: <6870a20e-5366-486e-9405-44ad57a89bf4@FreeBSD.org> Date: Mon, 10 Aug 2026 09:26:22 -0500 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 4bd01d6ae016 - main - fts: refactor to use fd-relative operations internally To: Alan Somers Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Jitendra Bhati , Mark Johnston References: <6a70e844.251cb.6995429f@gitrepo.freebsd.org> Content-Language: en-US From: Kyle Evans Autocrypt: addr=kevans@FreeBSD.org; keydata= xjMEWySaMRYJKwYBBAHaRw8BAQdAdk/Fqvvw2gwIzw2l1UAbv5mrT35Y5ylfHyUBEcWY3AzN H0t5bGUgRXZhbnMgPGtldmFuc0BGcmVlQlNELm9yZz7ClgQTFggAPgIbAwULCQgHAgYVCgkI CwIEFgIDAQIeAQIXgBYhBPv/ZC7g03RcLBP+TBlOtBOHRwt7BQJlp2YoBQkQJmZ1AAoJEBlO tBOHRwt7krYBAPnGTE/v9EcirWF5oGU+J19nr0wOpPCQzMOxCf5e2km5AQDHIznIhaLvZYUw LlxiBE7MEs/2w4WfXRgW+LuAkzedCc44BFskmjESCisGAQQBl1UBBQEBB0B84DgMSsY6hG+1 o57XJAuqj+dVfG+esKnEiO6T886KYAMBCAfCfgQYFggAJgIbDBYhBPv/ZC7g03RcLBP+TBlO tBOHRwt7BQJlp2ZOBQkQJmadAAoJEBlOtBOHRwt75v8A/Aq5ti6ACDG6/Hfodp9rfed9UQIH q45o6ymUj2TnhTJWAP45Wtv80BB+TiEcWCG7kcOYB3hcqZlD8k8vfito8b3KBA== In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 8/7/26 10:30, Mark Johnston wrote: > On Thu, Aug 06, 2026 at 04:52:55PM -0600, Alan Somers wrote: >> On Tue, Aug 4, 2026 at 4:06 PM Mark Johnston wrote: >>> On Tue, Aug 04, 2026 at 01:33:40PM -0600, Alan Somers wrote: >>>> On Tue, Aug 4, 2026 at 1:00 PM Alan Somers wrote: >>>>> >>>>> On Tue, Aug 4, 2026 at 12:58 PM Mark Johnston wrote: >>>>>> >>>>>> On Mon, Aug 03, 2026 at 07:13:08PM +0000, Alan Somers wrote: >>>>>>> The branch main has been updated by asomers: >>>>>>> >>>>>>> URL: https://cgit.FreeBSD.org/src/commit/?id=4bd01d6ae01632501b63438b8d9a401db9744a78 >>>>>>> >>>>>>> commit 4bd01d6ae01632501b63438b8d9a401db9744a78 >>>>>>> Author: Jitendra Bhati >>>>>>> AuthorDate: 2026-06-12 17:07:55 +0000 >>>>>>> Commit: Alan Somers >>>>>>> CommitDate: 2026-08-03 19:12:28 +0000 >>>>>>> >>>>>>> fts: refactor to use fd-relative operations internally >>>>>>> >>>>>>> Replace all _open() calls with _openat() in __fts_open(), fts_read(), >>>>>>> and fts_children(). Replace statfs() with _fstatfs(). >>>>>>> >>>>>>> Add fts_dirfd to struct _ftsent, set to the file descriptor of the >>>>>>> parent directory. Callers can use openat(ent->fts_dirfd, ent->fts_name, >>>>>>> ...) to access files safely without relying on fts_accpath, which >>>>>>> enables programs in capability mode to open the files described by >>>>>>> _ftsent. >>>>>>> >>>>>>> This is a preparatory change for fts_openat() which will allow callers >>>>>>> to provide a pre-opened directory fd, enabling fts(3) traversal inside >>>>>>> Capsicum capability mode. >>>>>>> >>>>>>> Mirror all fts_open() changes to fts_open_b(). >>>>>>> >>>>>>> As a result of expanding _ftsend, publish new ELF symbol versions for >>>>>>> fts_openat and related functions. >>>>>>> >>>>>>> Sponsored by: Google LLC (GSoC 2026) >>>>>>> Reviewed by: asomers >>>>>>> Pull Request: https://github.com/freebsd/freebsd-src/pull/2303 >>>>>> >>>>>> Quite a few regression tests seem to be failing after this commit, e.g., >>>>>> some of the makefs tests: https://ci.freebsd.org/job/FreeBSD-main-amd64-test/29201/ >>>>> >>>>> I'm testing a fix now. I should have something ready for you soon. >> >> The fix is committed now, as 74bd6fb1eb02 . Sorry for the trouble. > > Thanks, but I think there are still some problems. I'm still seeing > vnode exhaustion while running the test suite. > > First, fts_build() appears to dup() the directory entry into every > single(!) child FTS entry. That's slow and means that we'll potentially > acquire a large number of fds when traversing a wide directory, enough > to hit per-process fd limits. Second, the return value from dup() is > not checked, and it's not clear to me whether that's handled elsewhere. > Finally, I'm fairly sure these dup()ed fds are leaked in various places; > for instance, isn't fts_lfree() potentially leaking the dirfd of each > entry it frees? > > The first and last issues are probably straightforward to fix, but I'm > not sure about the second one. I don't think FTS can reasonably consume > an fd for every entry in a directory, that's going to cause a lot of > problems. > Hi, Can we go ahead and back this out until the outstanding issues are resolved, please? Thanks, Kyle Evans