From nobody Tue Feb 10 16:19:52 2026 X-Original-To: bugs@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 4f9Rbr469Nz6RZDj for ; Tue, 10 Feb 2026 16:19:52 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f9Rbr3SFtz3RBN for ; Tue, 10 Feb 2026 16:19:52 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770740392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bE+MHhq2W54QIF+Eo4h+T3ZDNzvpkpMh9kKhwufJFhM=; b=B/SZaOWCARlANOGsX1Wg/12Pot6CRXkdJAyF114UVhoeu2dg3bug+Iux6jSTRO1DArFaOI emAZkLRx1wiS8NxKw83OXUR3U0uVwS9Ix4vPuChG98khh/hylkXWnYtlol0OARJPOPWmhV jhWZv8wQQtEuOQrv/eA3afXMIy4475GfGSU+Begea/BFSWKiif1xQnwHhJlE1Y2j+h85l3 vsuTe2OciB+Gs6b1ns0aoaKu+L7VEPZDwXHx9ytBxygxbl5EAjpioc+KdxrVE0p6AtLSta IrW9UWTabOKoKCts1CprPbcMNTbykPUJ+ydjEO3OjTrEVodf8meXuLjyEit95A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770740392; a=rsa-sha256; cv=none; b=YYJA9OYWrp3HQeLELty3ygiiKPDaBdsTHTGEhDdEDDlakPWFWqXPlhuTXMr52u9UlQBJAH AfOcYatiInRZcldFIbsOEbD+9B+N1oVAnvWtKKl3NSwbzIIhHPR5xXkVt4ijS5lwkzUBQS BKcvGgWaTdjZFurjK91SbAqJknh/g3yJmRIoHZBQBvAIDHxQB8wrB88btL8vVuu6NVLI2H H/6Qa3gDWljHLzO3dpxY4GNzDOD+KReii7gCKctp+dbhLjHNw3a5VDCbzHMg697R5vVG7P QdtdEKrEKmzjovJptft+BQITf433knE+8zpKF/8GNRX7X0fbUIpTt/8lpKIxnQ== 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=1770740392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bE+MHhq2W54QIF+Eo4h+T3ZDNzvpkpMh9kKhwufJFhM=; b=eCRwLfdniD+2RlqXH6D53tq7nl7eHtpvG7Jv27koXw7bKhvFjYUzh4KtdDroaFy691pyvR Ikx6MK1iPySHNwI7ZLPhFau7ag84f8gYcHZeXRqip+Og5rh/z4VQhbStowWnFVQOid1ZMl T6HAlZtE/NVC5L9EEQYyYkvIil0KoVM6mSRh7tVb+IUsu1wrkp6pD8qtC0s0Ke4lTqSPlx zvptS9niVVNko6MwbVDaWnTkTgoF+58JEhaPpCLE+FOHFSRvvaPuIg/ZXbnCeMuwL+c/WA Ih/ZvqGdSQuFr/14zMX1w5U3Y/0lVY6WYAVyaghmzrfk/U+XfnGxmo2hvmAfvw== Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4f9Rbr2k91z1PgD for ; Tue, 10 Feb 2026 16:19:52 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 61AGJqX5009675 for ; Tue, 10 Feb 2026 16:19:52 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 61AGJqQP009673 for bugs@FreeBSD.org; Tue, 10 Feb 2026 16:19:52 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 293088] fusefs: doesn't allow per-filehandle direct io Date: Tue, 10 Feb 2026 16:19:52 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 16.0-CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: asomers@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Bug reports List-Archive: https://lists.freebsd.org/archives/freebsd-bugs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-bugs@FreeBSD.org MIME-Version: 1.0 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D293088 Bug ID: 293088 Summary: fusefs: doesn't allow per-filehandle direct io Product: Base System Version: 16.0-CURRENT Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: asomers@FreeBSD.org If a FUSE daemon responds to a FUSE_OPEN request with the FOPEN_DIRECT_IO f= lag, then it wants the kernel to bypass the cache for that file. And fusefs(4) = will honor that. However, the fuse protocol allows a file to be opened multiple times, possibly with different FOPEN_ flags. In that case, the kernel shou= ld consider that those FOPEN_ flags reply to one file descriptor only. So whe= ther we bypass the cache should depend on what FUSE_OPEN returned for that particular file descriptor. It's a dumb feature, IMHO, but that's the way = it is. The problem is that our current code interprets FOPEN_DIRECT_IO by setting = the FN_DIRECTIO flag within the vnode's private data. But there can be multiple file descriptors per vnode. So we can't possibly respect that flag as the protocol intends. To solve this problem, we should move the FN_DIRECTIO flag from the private vnode data to the fuse_filehandle structure. For the record, this behavior was added by 2015, by commit ead063e0a245b902fbda1a9ced2f3b963afd39ed (svn r279536), and gluster relies = on its correct implementation. --=20 You are receiving this mail because: You are the assignee for the bug.=