From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=202.12.124.155 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1792720419; b=J5d3fVKIvXbz0fxjCYny+eThCwR0JGbr8Nx4+KpEHMdMJz+dLmOGYYEdJgWDzEpYxG8T 3pyYRQGab9Vm4ZfeZ/k+Kv56q5EO/2ObrIrlJ4gG8eOlmlVq3pcpPQtwEjlPjoGvPXF4t O988L6ruTIPK+9FiYQNYqeRQrTGmuMfp5w65/DK675QWNXhnaRiUez/nfm70MzYkxogag pKgoWPPhFOp/M2cN9PEP6urezPMMh+gDJC4SmgSvK6igaN+FaQ+LA1UYwDxlf4c9fboOe +j845PwJoun7XUWsg0pdfKG/eECX3C/edtMCFJi3LfqJD7+JSxgtAOC5qIkjTilihuw== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1792720419; h=DMARC-Filter:Received:Received:DKIM-Signature:DKIM-Signature: X-DKIM2-Info:DKIM2-Signature:X-DKIM2-Info:Message-Instance: X-ME-Sender:X-ME-Received:X-ME-Proxy-Cause:X-ME-Proxy:Feedback-ID: Received:From:To:Cc:Subject:Date:Message-ID:X-Mailer:In-Reply-To: References:Reply-To:MIME-Version:Content-Transfer-Encoding; bh=p+/tqKxvTgf1l3vFJoMmNf3gpsdrBdx9RA5sR0kyGwA=; b=2PGcyaKqKaixfTUZLB+DZ8TS4N1DTk7TkOoPfy9KKRneDxzylJ1Bl9B4B4PPxQK2k1Hy c/+3+Ak90D7zeEhLBJKOrt3hHlEVhTWaGQUbay8bPhhBQf3jxMl9PJjP9BrpWjzGvpWtH Q0rik+elGn6F3zgcMV16khy3KHn3RUOeVxkMFXMfZsascMB/KINeH9z14gShR8mYs6mji 4xnpeDygAU8L5f44HE69gTADauQS7gjjDUm1b9LU/nQYNFC8dqQ83OMLnnKpEGhekHn2i wImL28+j8XyzJHxrpfqBXN1+D4pMuoo55c0MMve1goqVjfQJei1D2tps9q0inFGSqrg== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=ownmail.net; spf=pass smtp.mailfrom=ownmail.net; dkim=pass header.d=ownmail.net header.i=@ownmail.net header.a=rsa-sha256 header.s=fm2 header.b="j9KlM/Co"; dkim=pass header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm2 header.b=sqq9SSKX; arc=none smtp.remote-ip=202.12.124.155 Received: from fhigh-b4-smtp.messagingengine.com (fhigh-b4-smtp.messagingengine.com [202.12.124.155]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7273E606A322 for ; Fri, 23 Oct 2026 01:53:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 7273E606A322 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ownmail.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ownmail.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=ownmail.net header.i=@ownmail.net header.a=rsa-sha256 header.s=fm2 header.b=j9KlM/Co; dkim=pass (2048-bit key, unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm2 header.b=sqq9SSKX Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfhigh.stl.internal (Postfix) with ESMTP id 98EEA7A0119 for ; Thu, 22 Oct 2026 21:53:38 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-05.internal (MEProxy); Thu, 22 Oct 2026 21:53:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ownmail.net; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:reply-to:subject:subject:to:to; s=fm2; t=1792720418; x=1792806818; bh=p+/tqKxvTgf1l3vFJoMmNf3gpsdrBdx9RA5sR0kyGwA=; b= j9KlM/CoZ8yp60MWUp+1Oe1kw5BzTRVYRpESYdAwGNRBIVgbBt6NBPqqy8JLk+ZK rgKIgUOPn0k6xK5d88FLoQ0rxD9tIirS4dzqBMLXB9Z3c51D64bbShoaQHxlLE8Q qHlhieQcNTEsVNO0iNrY25WpLx2+UptaB03eLMrV8MqPwzpnuOU3nXMsGKuG84cg H4r57+ys/Hkh8f9x3/aOsy0+kRiApaXoqLWY1w5P/iVwqc2jEM3ury2taYmo3h+E K/T/uXUu6KB22pVr8MNXuStaH2YykPc175yLZwM3PvNuBIZLUPV92efm/CyW0E5v RpCEvUXZFkJi0WOpr+R19w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1792720418; x=1792806818; bh=p +/tqKxvTgf1l3vFJoMmNf3gpsdrBdx9RA5sR0kyGwA=; b=sqq9SSKX0uDCSFYrl XJrKP1Ut0jgKbwNhW4+iqrhx6n4zUEfHswWy/EtwD7IM3Q338p4KTmKQw4qysw4G XROovFtULf2h0D2iQGb9iTkqeQ9Qq7xHuTUpaEO5+PVxR9Ju8GOiWCQGpXaEZqw1 abVa7YSytw123pSlDtNJRQOqLpadCHY/LWXc+Nu09hiGNxZrwMi/BEawjXWsnZAK T9+6HCkr0F2BTfrJ0bHwePcbumodBmzE9QmYJRNPI9wBWLA4pJaMTUgXN3PDYMx4 JrpM/Mk5Cx7HVQ0a+fyGs15Th7eJQQOibN88VX7xEz8YiU3hiNCUvXR+MRwLu4Vx 4lYbg== X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-07; repo=github.com/dkim2wg/interop; date=2026-10-18; sw=lmtpprox; action=sign d=ownmail.net a=rsa-sha256; DKIM2-Signature: i=1; m=1; t=1792720418; d=ownmail.net; mf=PG5laWxiQG93bm1haWwubmV0Pg==; rt=PGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+; s=fm2:rsa-sha256:ASe3kDJ0QQrDu8u3X0RQsSUQL5iZey2s5cw1UQG+XaJ82b4 WyLNm2MxZTyP2SIX+etAcg1Yf3lQKUgR2V3VakZkoAGSV943teYMcnzgYRN+Hrt8 VrJ+Ceb8qmzSrbogH0Eq+IfnYu8iGScjoHI8r5/rpWx0AqT+FJ/DDLgXvISTm1Gq 9AGhzwD23nN/Vw/3lxU90CNf9re3mlvyj3fL3bFKSrskbz/XcSCciddTIrNwMzLY xX/469JTkLCRAT1GB6PZoLqqR4E4WyTXXyFe5/vvVEj+qUeegBf2WvNWRrBYr0Oe K+oz5p/52Klr0yfa2PMKmzblIATrjb6ai8h4IdA==; X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-07; repo=github.com/dkim2wg/interop; date=2026-10-18; sw=lmtpprox; action=mi-m=1; hc=12; hn=cc,content-transfer-encoding,date,feedback-id,from, in-reply-to,message-id,mime-version,references,reply-to,subject, to; Message-Instance: m=1; h=sha256:n79bcikYfmAn95WvQU8TgveyNApKazCXHbqP3ehAhiU=:i0ihEzBwkHZYIFPIGvcwCqTjGwUIFSs6F4q1ZDqg0+Q=; X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTExLsW4SpLCAv0tdT8e4ZPZyVz4IupNhJEO2SD3abqv0hzNCt0wHCU9mnuewgcb3C 8m9r5e3YKSPGnPB5PYtZBGCtADj2rC8TRrl1Bc3fUQAcoD/QlA9OXRwyejoKLjNMy4BgBR 4LbEnQXkypLxZ3m4X/K/R9IRkdumNmSBKPe/sfK+vfZjOaMBax2CiZaO2EgzLsHG6TJvVg RpN12/waUzArwE0mLwMuNeArpooRt4XVRLhGwsa86uWcBuDyb7Qho3ZSdk2rEHCSbKf9p0 4ukEKjRnVkvK5y+ofxTRlX1T622kiTdxG1JD6FQoOO8gRlRh/mERVb6ZQ5j3LkSoNAI4gv O+xW6DG7omVt1JEfqqihvjTldDIraq3fq90WTRZA2GrttEUgIXbI3VgvdRCCz1qcfQnzwI rCeRzyiGqjutgITjb7g0xwfp/u+kmCVx6yDiid2rx3a5WMmdd2P02q+lchdkvN9yjhJ9/c bzCzom1fWsTKMy6VyfCQcQdIVBXmgWeMs7WsIiejV9q8868Qh+13bMBs6W+OmDkgl7Bgfb ijvsT9LGDIL/IiZrNNdCm3belr1BmyBwVglSvx+9ansheblzOC8X4gv1MhwGyJtx0QmmvN 4CFwAXH+JcfspmY/sRhKTKKcBWIz/aCYJuWvVAR6xjpEpJ02bN1w1C9tfOAg X-ME-Proxy: Feedback-ID: i9d664b8f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 22 Oct 2026 21:53:35 -0400 (EDT) From: NeilBrown To: Trond Myklebust , Anna Schumaker , Alexander Viro , Christian Brauner Cc: Jeff Layton , Jan Kara , linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 6/9] nfs: don't d_drop() before d_splice_alias() in atomic_create. Date: Fri, 23 Oct 2026 12:50:16 +1100 Message-ID: <20261023015239.2163480-7-neilb@ownmail.net> X-Mailer: git-send-email 2.50.0.107.gf914562f5916.dirty In-Reply-To: <20261023015239.2163480-1-neilb@ownmail.net> References: <20261023015239.2163480-1-neilb@ownmail.net> Reply-To: NeilBrown X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: NeilBrown When atomic_create fails with -ENOENT we currently d_drop() the dentry and then re-add it (d_splice_alias()) with a NULL inode. This drop-and-re-add will not work with proposed locking changes. As d_splice_alias() now supports hashed dentries, we don't need the d_drop() until it is determined that some other error has occurred. Signed-off-by: NeilBrown --- fs/nfs/dir.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index aaad823370e2..8a98247b6b2d 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -2180,7 +2180,6 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry, err = PTR_ERR(inode); trace_nfs_atomic_open_exit(dir, ctx, open_flags, err); put_nfs_open_context(ctx); - d_drop(dentry); switch (err) { case -ENOENT: if (nfs_server_capable(dir, NFS_CAP_CASE_INSENSITIVE)) @@ -2189,7 +2188,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry, dir_verifier = nfs_save_change_attribute(dir); nfs_set_verifier(dentry, dir_verifier); d_splice_alias(NULL, dentry); - break; + goto out; case -EISDIR: case -ENOTDIR: if (open_flags & __O_REGULAR) { @@ -2205,6 +2204,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry, default: break; } + d_drop(dentry); goto out; } file->f_mode |= FMODE_CAN_ODIRECT; -- 2.50.0.107.gf914562f5916.dirty