From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp06-ext.udag.de (smtp06-ext.udag.de [62.146.106.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8B97E1EFF8D; Mon, 23 Feb 2026 18:55:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=62.146.106.76 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771872959; cv=none; b=Wcdpu6ORZUH0l1nJz/80bmc7ZZP0YEo3rkgbVseMLCyRfMMf8prhy/Ql9/lUYy/ji96yegeSTlC/zYNT/C7l2Fg92jiacVNe4EDDeGk9Alcy4b6vMbzh97AMfI4lQsNmjvCiEJxVt+NoxRXRghTclo8X1VlMwH5G57uK5N3NVw8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771872959; c=relaxed/simple; bh=vtJZ4PadBHebTQEBEXNF+Yo455CaPLKjlfD1awC25MY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=mu3Fo4QbqAFORq2BARM6rh3Ksl9UtdFrvoLQvhPzULW5Hl9I1RZXl0yNBElfJutz2/hE2KR6cFduv5GU2sUQ9EamCR+ytcwa8ACU7i0lrW06Y+qufkuXwE+yj3L7WjBcR0Sin1WPR1LTtXj9JFhDqKlAucn1svmFuDtBbKRgXUE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=birthelmer.de; spf=pass smtp.mailfrom=birthelmer.de; arc=none smtp.client-ip=62.146.106.76 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=birthelmer.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=birthelmer.de Received: from localhost (200-143-067-156.ip-addr.inexio.net [156.67.143.200]) by smtp06-ext.udag.de (Postfix) with ESMTPA id 61063E04F7; Mon, 23 Feb 2026 19:55:48 +0100 (CET) Authentication-Results: smtp06-ext.udag.de; auth=pass smtp.auth=birthelmercom-0001 smtp.mailfrom=horst@birthelmer.de Date: Mon, 23 Feb 2026 19:55:47 +0100 From: Horst Birthelmer To: Miklos Szeredi Cc: Bernd Schubert , Jim Harris , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, mgurtovoy@nvidia.com, ksztyber@nvidia.com, Luis Henriques Subject: Re: Re: [PATCH] fuse: skip lookup during atomic_open() when O_CREAT is set Message-ID: References: <20260220204102.21317-1-jiharris@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Mon, Feb 23, 2026 at 04:53:33PM +0100, Miklos Szeredi wrote: > On Mon, 23 Feb 2026 at 16:37, Bernd Schubert wrote: > > > After the discussion about LOOKUO_HANDLE my impression was actually that > > we want to use compounds for the atomic open. > > I think we want to introduce an atomic operation that does a lookup + > an optional mknod, lets call this LOOKUP_CREATE_FH, this would return > a flag indicating whether the file was created or if it existed prior > to the operation. > > Then, instead of the current CREATE operation there would be a > compound with LOOKUP_CREATE_FH + OPEN. > > Does that make sense? What is wrong with a compound doing LOOKUP + MKNOD + OPEN? If the fuse server knows how to process that 'group' atomically in one big step it will do the right thing, if not, we will call those in series and sort out the data in kernel afterwards. If we preserve all flags and the real results we can do pretty much exactly the same thing that is done at the moment with just one call to user space. That was actually what I was experimenting with. The MKNOD in the middle is optional depending on the O_CREAT flag. > > Thanks, > Miklos Cheers, Horst