Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3840757pxk; Tue, 29 Sep 2020 07:34:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzWGCG1yaz88ApAE+LxMblkaJj4HXbrN0aNM1h4eJr82ixCUlI84qKAzMipOag/Qj+Q7Nfj X-Received: by 2002:a17:906:a1d4:: with SMTP id bx20mr4104100ejb.262.1601390065455; Tue, 29 Sep 2020 07:34:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601390065; cv=none; d=google.com; s=arc-20160816; b=Rr+0ecu9jxEITrO+DFUaqRL+apGjtdP//LG3jGLh+uTFMOzMj9/JyPPnZm3AAc6qPx lt3Xvy5/yUgXi3JdNXbou95vBBgOLBHnzKAZWVLD0LIRSNzOiDorl/VpujoPQBmx0rpE AsG1Z4Sf4UDRjAiEtbK1F30pGSsflzTWJTduSPdWBCs973Ue1Rs71vC6J7/aT82yV32J ptZamzNFkltBLVySKcG2md415fnQyUyC/2EGVtHhpXRI4HIfCtIS1o8LT1Zm5m6HGyJ4 fKF6nvO23/a9fvOQ6HEpX2HVafHY1LL/YVHL6Q4oduxHep6N2+Y/4wqkRMjBrcFJyxri slkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=uFKLSPWDwm3eYZd6YdR+/hX/HXeA1BnZbw8cxB8l5tM=; b=DkWFMr9qO6UeVcpLPtTRAtoVCmOZrBJvsib+ODQU3JjVupuAEyI0RJzu4oM94eqTk0 MpH6syPN5jUKjUu7QMFvTpvMT65ad2fbs3Q9BSBu/hyhd0kIUr50R4h9DEoYJ088K8Ju 0fwbWuKxmOBiCiph9EPi1tvsjW/F0Ns0YoHOkbvVvDMgX+yspy+846aKqOsiLhLjMc4/ iEE+tKWdacoWc3uDjv1/M1MaphvPLIG/jnvnrfhDURCDA+lxv3bxfpruTBzOBJyNiKDF y95w+PX/36ANFf4IEGJ8bHj6hU8BCZWhydBs92gYpqo+8J9U4ehZahMnBbfmDef6V3dz rKVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@android.com header.s=20161025 header.b=WLRfbKRy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=android.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id nd6si2789803ejb.189.2020.09.29.07.34.01; Tue, 29 Sep 2020 07:34:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@android.com header.s=20161025 header.b=WLRfbKRy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=android.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728831AbgI2OaR (ORCPT + 99 others); Tue, 29 Sep 2020 10:30:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37136 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725554AbgI2OaQ (ORCPT ); Tue, 29 Sep 2020 10:30:16 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DE87CC061755 for ; Tue, 29 Sep 2020 07:30:14 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id s13so4832119wmh.4 for ; Tue, 29 Sep 2020 07:30:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=android.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=uFKLSPWDwm3eYZd6YdR+/hX/HXeA1BnZbw8cxB8l5tM=; b=WLRfbKRyHsDE1KbYQsDpufajswYgeVpkZCRZM2rE14Jx7ciTmLPeGxQab+NzzN1k4g X38WvCMV7E6erCcNfmdeLauHb9a0J2yy59NWFf7U4SB4Nn5QQLSnv62rv02144hynjG1 FC2+vhsot7ySsIfREUOKkn6m84xWWEHKFkGxbh5DUhhIyCgeCACveM1dRvWE2Z/W52gS rehupa2hgU+q9dKjrg1/rS7wAZi18abSfFEBZlkig2QH6c3KhY+Jk4QZ3PdJX7AnJ4L4 zTuPzu5OqmGNZxTG8L5M8dcP8kULVBC1icpmpqxdIdcUf5m3qdvNnjdNjePEG0NJoGYg TFeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=uFKLSPWDwm3eYZd6YdR+/hX/HXeA1BnZbw8cxB8l5tM=; b=rje/Hu+nOHoCzipieaA/43f7f6a9BIwmYSL7qO4sJThiqkWIFgq+jop/CI+k7fo+Xj uY54t7RGZflt3oTjQYA0ft4ao12QFrdORc12W97y+IuTd65qpR/oFPIp8MgYT2Jq0z0o 6164r0eufA8C1CCTHk4F3FQnJ7F70H8ioQlrQJ2WKkxs4dy7JCNkit4L1LyDk5TNk3Qi hLfZsF7WJfpfNgqkrCL2F/tTGclFvLgFqSpyz9axiAqwtYGzizew50vljsYVVFq+VTli 8rA6Zurw+qmXDaAoc2OHzriOULJ3bqPJAFFYc3H0OAR2oNOkYt8EiuQSJRgd37liEQ7Q +4VQ== X-Gm-Message-State: AOAM532TDwqFtKGosVbqRvvH65oUiO8i6HtbKxAp4VUnRHjKQuyqxlP8 rCuKyHZ+aOep+LkKtPADmyBBjw== X-Received: by 2002:a1c:f716:: with SMTP id v22mr4675565wmh.183.1601389813562; Tue, 29 Sep 2020 07:30:13 -0700 (PDT) Received: from google.com ([2a00:79e0:d:210:7220:84ff:fe09:7d5c]) by smtp.gmail.com with ESMTPSA id n10sm6012031wmk.7.2020.09.29.07.30.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Sep 2020 07:30:12 -0700 (PDT) Date: Tue, 29 Sep 2020 15:30:11 +0100 From: Alessio Balsini To: Amir Goldstein Cc: Alessio Balsini , Miklos Szeredi , Akilesh Kailash , David Anderson , Eric Yan , Jann Horn , Jens Axboe , Martijn Coenen , Palmer Dabbelt , Paul Lawrence , Stefano Duo , Zimuzo Ezeozue , fuse-devel , kernel-team , linux-fsdevel , linux-kernel Subject: Re: [PATCH V8 1/3] fuse: Definitions and ioctl() for passthrough Message-ID: <20200929143011.GA1680101@google.com> References: <20200911163403.79505-1-balsini@android.com> <20200911163403.79505-2-balsini@android.com> <20200918163354.GB3385065@google.com> <20200922121508.GB600068@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 22, 2020 at 07:08:48PM +0300, Amir Goldstein wrote: > > I am hearing about a lot of these projects. > I think that FUSE_PASSTHROUGH is a very useful feature. > I have an intention to explore passthrough to directory fd for > directory modifications. I sure hope you will beat me to it ;-) It's awesome that you mentioned this, something similar is already in my TODO list, suggested by Paul (in CC). I'll start working on this and will be glad to discuss as soon as this FUSE_PASSTHROUGH extension will hopefully get accepted. > > > I'm not directly involved in the Incremental FS project, but, as far as I > > remember, only for the first PoC was actually developed as a FUSE file > > system. Because of the overhead introduced by the user space round-trips, > > that design was left behind and the whole Incremental FS infrastructure > > switched to becoming a kernel module. > > In general, the FUSE passthrough patch set proposed in this series wouldn't > > be helpful for that use case because, for example, Incremental FS requires > > live (de)compression of data, that can only be performed by the FUSE > > daemon. > > > > Ext4 supports inline encryption. Btrfs supports encrypted/compressed extents. > No reason for FUSE not to support the same. > Is it trivial? No. > Is it an excuse for not using FUSE and writing a new userspace fs. Not > in my option. I started exploring the FUSE internals only in the last months and had the feeling this compression feature was a bit out of context or at least very use-case specific. But I'll start thinking about this. > > > The specific use case I'm trying to improve with this FUSE passthrough > > series is instead related to the scoped storage feature that we introduced > > in Android 11, that is based on FUSE, and affects those folders that are > > shared among all the Apps (e.g., DCIM, Downloads, etc). More details here: > > > > sdcard fs has had a lot of reincarnations :-) > > I for one am happy with the return to FUSE. > Instead of saying "FUSE is too slow" and implementing a kernel sdcardfs, > improve FUSE to be faster for everyone - that's the way to go ;-) Yes! This is exactly what we are trying to achieve and this patch-set is the first piece of a bigger picture which, among others, includes the direct directory access that you mentioned before. I hope the community appreciates these improvement attempts :) As you may have noticed, I recently shared the v9 of the patch-set. Thanks to the feedback I received, what we have now has a completely different than the initial proposal. Thanks again everyone for the suggestions! Alessio