From owner-freebsd-fs@freebsd.org Fri Feb 12 14:35:02 2021 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8C2ED54EFDB for ; Fri, 12 Feb 2021 14:35:02 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.nyi.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4Dcbck3NGXz3CJF for ; Fri, 12 Feb 2021 14:35:02 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.nyi.freebsd.org (Postfix) id 73EB854EDD2; Fri, 12 Feb 2021 14:35:02 +0000 (UTC) Delivered-To: fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 73AED54F184 for ; Fri, 12 Feb 2021 14:35:02 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Dcbck2nLHz3C3D for ; Fri, 12 Feb 2021 14:35:02 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) 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 52DD025905 for ; Fri, 12 Feb 2021 14:35:02 +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 11CEZ2QP013836 for ; Fri, 12 Feb 2021 14:35:02 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 11CEZ2u0013835 for fs@FreeBSD.org; Fri, 12 Feb 2021 14:35:02 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: fs@FreeBSD.org Subject: [Bug 253428] getdirentries does not work correctly on NFS mounts Date: Fri, 12 Feb 2021 14:35:02 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: rmacklem@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: fs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Feb 2021 14:35:02 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D253428 --- Comment #6 from Rick Macklem --- Just fyi, what I am looking at for the case where the directory offset cookie returned by the server is monotonically increasing is... Replacing uses ig gbincore() with a similar call the uses PCTRIE_LOOKUP_LE() instead of PCTRIE_LOOKUP(). This would allow the directory offset cookies to be used as keys for the block instead of the "logical byte offset" of the converted to UFS-like directory blocks. The problem is that there is no way to know if the directory offset cookies are monotonically increasing until you see them. (Linux does something where the client code checks for a non-monotonically increasing offset then disables the caching optimization if this happens. I am not yet sure if doing this will be practical for what I am starting to code.) I am planning on proposing a new attribute for NFSv4.2 to indicate whether or not the offsets are monotonically increasing, but that will take a long time to get adopted. Once keyed on directory offset cookies, I think the "short block caching issue might get fixed, since I think it was related to the "logical byte offset" of the next block changing when short directory blocks were returned. (Maybe this should be moved to a mailing list?) --=20 You are receiving this mail because: You are the assignee for the bug.=