Received: by 2002:ab2:7855:0:b0:1f9:5764:f03e with SMTP id m21csp353671lqp; Wed, 22 May 2024 06:42:09 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWpzfz21xK7276iLUXX28PtBoCd+TTDIGdBCQySY/YgKR+oj9pCjq1eJpeg8Txd9ZFXM/6HhYjAvg/6VkVao7l4O3TlWctCSw8dz4FkCA== X-Google-Smtp-Source: AGHT+IGTbwv7qPeLTTTWCE1mKztvC2v977zwedREFb2Tc1Zhpnn6zg4G+jIyqPG57AOtFBWB16Bu X-Received: by 2002:a05:6a00:1949:b0:6f3:e9bd:62cb with SMTP id d2e1a72fcca58-6f6d616b3c0mr2066509b3a.23.1716385329711; Wed, 22 May 2024 06:42:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1716385329; cv=pass; d=google.com; s=arc-20160816; b=f4y7EaieW7bFaxkGroeLYpZNhWtFBTF+0M1B6ddyi7Vv+BqWmETtNBKZrh1f+7s0NG hFlNreigxVghzxI6eyeYNYoQ9kc9FJtACQA9JphnIxQRwqgLKmC1PaxHs9b07zeQoSMt HVs1jJ0GcUkUdXeXxM7cIpba76IV2Fze3y61e2tTV6JhnkjojsHYdTrVPfYNZG5J+ufE HXCkP1EfTIt8j0dOdOs4GGPry9ERH0ZaWC4m3+M60DFGEBzoGUpRbk+JWBJVVOzqyU+d sNOKw16PGKNS0NxPXzB8IZQN7XDrCtJofLPVuNmvJBOAwpwXJk6MpRPAmNP95Tvs72+g in2w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=meJM/p/T2OemzzcD44JPElMDWWjCdDm6EvOTQof3oOM=; fh=5KjJYEZ8OAQRIBlmPBS9hlc9XBUN6vIfkSirptdYHE8=; b=yViO4H9V2ALa5FBWJAcl1WEqpmMaZ1Je8kYSVCW6jP131X0POpvRTgyvaM6U+1q6s5 7zcQxt5dQQxDTzvJhdpTTf2E9VwMVkgTyo+285oIz2VE7blIaileQNGsj6P/+Fi/FIDz TCpun0smRd9C6juA+z7G7mx9sllyJsHDP4Fh8T2Ui5pb4M4AEbPr7DxbmD3P2qSGHrWW E5TW0oxLUkmKgQHkKXFzNKpOyntrbqNBuhAIfzwwbNGtOiWjymDLg26SkMZ57H5LOiyI 5Xxjlj13cEPFgABtDR7j/O3wTqLonQ64kgcYzMeND+63jgWjoBlNoYus6Ha1bdQ8m/XF wLnA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=PxpZMiGr; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-186295-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-186295-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id 41be03b00d2f7-654eeca3ce6si215483a12.323.2024.05.22.06.42.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 May 2024 06:42:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-186295-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=PxpZMiGr; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-186295-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-186295-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2E44E28356F for ; Wed, 22 May 2024 13:42:09 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D5DD5140E5C; Wed, 22 May 2024 13:41:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PxpZMiGr" Received: from mail-oo1-f44.google.com (mail-oo1-f44.google.com [209.85.161.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B177C13E3EB; Wed, 22 May 2024 13:41:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716385318; cv=none; b=DaRp/7PasiCz7d2gc/8P1Wgt2lOxyzZ7yiOUoiwwqNlYvZOTtDd7eBHT71mguvY2Tqtx2PxwJNgtDjhqn+29ofaD8OwUEIg2oo1Y/tCyfG+bD7Nb9c2KhHxYId46GK3K3RcLbGNp1b/wH3A9ZbRV4VW8CYataB3hONNQOR3BX0w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716385318; c=relaxed/simple; bh=5OlI2c49kc/GH5J/agNRhgbAvOiepAletVFD/jbVaP4=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Rf7PGcqT5XejVkIpLLSg+2umLdznrYHCD3M7XSOhMs77GvooFPO+QfoXW3QwrI7AXUKP4nL9T3QOQ8MKuNhe3hXm5f7RO/54LUpERRXXBiocti9EWqU8sGxhOIymYScKqTw7QFj4+mbuf+sL/JKwMlZNJ7hKgJeuuOFcpbfhytE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PxpZMiGr; arc=none smtp.client-ip=209.85.161.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oo1-f44.google.com with SMTP id 006d021491bc7-5b2733389f9so3109985eaf.1; Wed, 22 May 2024 06:41:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716385316; x=1716990116; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=meJM/p/T2OemzzcD44JPElMDWWjCdDm6EvOTQof3oOM=; b=PxpZMiGrd+XTa8a3+nDs8gKPzoNYoOqpjFozbjDN8zjp0mruKo9wWVd1FFZU3+c/k+ rlKK2b53Aie+Y+JrrQs3Vi6mzOmQ6jGjBArx1x5utVIyPydFCMka3glE1qARaq+m4UL3 SVhxlOLik6+O0mO0O2GAjtSTJ6Dwu/7UFJg8VKzyjfqg+z2hErwKckXG1NNbqGdboQ12 Y+q3UOMTLqHgNZ+l1EBj5HbUhNzw/umElWwZKnrZabXniNztsLnxS7/+U5+XKgQYoVvs rVgpbYUdW8ZrUN80EjbDg6LWX+tyaI9Ab/38h3RG/ePRAbi/hKgLqm0umfYrXP3lUZej b+4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716385316; x=1716990116; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=meJM/p/T2OemzzcD44JPElMDWWjCdDm6EvOTQof3oOM=; b=KVuHzxcJrdArQi7mgdmfoL4Zf2U83lNZlDkCCbf9uode2hSwkAH2gt6c7HU3Dx+jWf Lbr5zPH6wKYn39DJ+6NLI5mg3xP29mogvXvZ8pwsmFvhKokJ1ch3sG2DK9XaAlHAYodi +qKv4ofRdqguxQiFyKDGAM1UTdRC+XwjPCmxjzEOQnK+a3bMoiMrwIcbpjIUzZA1oTMg WctiJrYLeolZNTCXy3yZ7B9AAB2IB8LougSwx/8DXjr3DkLoHMqKUpZXuoih+Kn7CPBE CymgkYqntmOtVy9nlE9wvEJwtuw7rNFHCLm+6qLImQN+IUwF4g6GwNWXmKa2uFFmeIyz ELcg== X-Forwarded-Encrypted: i=1; AJvYcCVLCA7UopcqJ4L7K+BUtjDCzxTuXGfKVMm34IOUkTuD2mAWUXzjwPpSUWIy0LsNPR9K01lLP1QE4A41QhWZ+Md5A/gTbOe+qj5fhhkjNKlEH9PDhFdkftndPHPo3by5sCfS/8n68dm2N0G7g40DN+gHW2pyg3YkcS4Qo+mjyebaaSAvgpz1VW3nfHVTExnO/nzkF4fhgB+Z7IkWviJeUZgZPg== X-Gm-Message-State: AOJu0YxgpH6ipXc2dPlifGsmTAVSVYu0Zd/dMjWrgRqDzOITQY1UnHLk OxKv/oNn+lXE8o4vZgNnVNq3vwkMgC3BXPjAhsgGm43HsLLnqOuwtaTOz+qWPQkFaAz/IToHMAr GE14dxHHv2MI131iEJglbKQehSqM= X-Received: by 2002:a05:6358:2826:b0:186:1abe:611e with SMTP id e5c5f4694b2df-19791ddd866mr159774755d.30.1716385315608; Wed, 22 May 2024 06:41:55 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: In-Reply-To: From: Amir Goldstein Date: Wed, 22 May 2024 16:41:43 +0300 Message-ID: Subject: Re: [RFC PATCH 00/20] Introduce the famfs shared-memory file system To: Miklos Szeredi Cc: John Groves , John Groves , Jonathan Corbet , Dan Williams , Vishal Verma , Dave Jiang , Alexander Viro , Christian Brauner , Jan Kara , Matthew Wilcox , linux-cxl@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, nvdimm@lists.linux.dev, john@jagalactic.com, Dave Chinner , Christoph Hellwig , dave.hansen@linux.intel.com, gregory.price@memverge.com, Vivek Goyal , Bernd Schubert Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, May 22, 2024 at 2:28=E2=80=AFPM Miklos Szeredi = wrote: > > On Wed, 22 May 2024 at 12:16, Amir Goldstein wrote: > > > The first open would cache the extent list in fuse_inode and > > second open would verify that the extent list matches. > > > > Last file close could clean the cache extent list or not - that > > is an API decision. > > Well, current API clears the mapping, and I would treat the fi->fb as > a just a special case of the extent list. So by default I'd keep this > behavior, but perhaps it would make sense to optionally allow the > mapping to remain after the last close. For now this is probably not > relevant... Already in the works ;) Not tested - probably not working POC: https://github.com/amir73il/linux/commits/fuse-backing-inode-wip I am trying an API to opt into inode operation passthrough, which has a by-product of keeping fi->fb around after last close. This is designed to be setup on lookup, but could also be setup on first open. I have some ideas for how to return backing id with lookup (and readdirplus) response, but haven't tried them yet. But setup backing file from lookup response will surely stick around until inode evict. Thanks, Amir.