Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp671921pxa; Wed, 12 Aug 2020 10:40:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxwEz9XSXGEWdGYqEw1nJhWrdD87Nf3N8yFTS7wJOnNUtIMJmNjVuWXvrWe/GPWjS071N9Y X-Received: by 2002:a05:6402:1ca6:: with SMTP id cz6mr988720edb.310.1597254035144; Wed, 12 Aug 2020 10:40:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597254035; cv=none; d=google.com; s=arc-20160816; b=WQNTZbW6PA+gTpEyJ8PVhc2XKXcgeJ99IyTQdnpJdb7ZdajtTRD+NMsSBFHqEgs2QI JPYp0pWcrKYIvPIU6wh/svZ5OBPJIr2WhB71Gy8ZVawPUE1CXJUymiXV7VRksqBIcUBy 3dEn78rCylfmMmSWbdj1+7+bOm6ynltfxgn2nWPKheBcrsR8rujXmxT5qZCiOI6tLoRV rZMwIsBTEaueEBxuMr9OShEMU5pblOHxUlaLtRZKyiFKZGZU6tv3mOImF31irLy6xF4B n5O3TWkHQOTgZFcC8Ro9BOgybRJNh2T6VDCuYDtBMiuplsFWeaQBR7idvQaMs3BS8GvU qSgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=lJdBtfut4hk4JIhrdXwohJUjbf6b0ULVybU5B8KnxkA=; b=OFjrvG739v5I5f/0uFlSHOuGQKb96KX9u611Iy8W4lrS4+ks2075pDF4aTKFJ1vzXo x//X7VT3D7ngD9ISyjNHDrcj5Lkp3xtvBXek1aBsndfsPEvflJIyLnaZHpmOi+5vBQlz B4CDfbTYRauTDOyqd03pA/V/s9znK6QWB4YTTZaZdUlNRphFoHYIla1yAISBDjGr8xUr sWI1lvNTAJYLXmU5Lz+Cm+wJMajt9Y7VDpZgYj62h4NyuGKhOugstIdFrCClEERisQti gbu6EwJJ4dqPXfit01J/gS53jp/UDwWA7fsGKSZtvyOAmA7MOYJNdkA/QPN5W/gZRA2g BR/g== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v15si1707004edy.90.2020.08.12.10.40.12; Wed, 12 Aug 2020 10:40:35 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726546AbgHLRjb (ORCPT + 99 others); Wed, 12 Aug 2020 13:39:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47548 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725993AbgHLRj2 (ORCPT ); Wed, 12 Aug 2020 13:39:28 -0400 Received: from ZenIV.linux.org.uk (zeniv.linux.org.uk [IPv6:2002:c35c:fd02::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 04CFAC061383; Wed, 12 Aug 2020 10:39:26 -0700 (PDT) Received: from viro by ZenIV.linux.org.uk with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1k5uiV-00ECnX-Nd; Wed, 12 Aug 2020 17:39:12 +0000 Date: Wed, 12 Aug 2020 18:39:11 +0100 From: Al Viro To: Miklos Szeredi Cc: Linus Torvalds , Jann Horn , Casey Schaufler , Andy Lutomirski , linux-fsdevel , David Howells , Karel Zak , Jeff Layton , Miklos Szeredi , Nicolas Dichtel , Christian Brauner , Lennart Poettering , Linux API , Ian Kent , LSM , Linux Kernel Mailing List Subject: Re: file metadata via fs API (was: [GIT PULL] Filesystem Information) Message-ID: <20200812173911.GT1236603@ZenIV.linux.org.uk> References: <20200812143957.GQ1236603@ZenIV.linux.org.uk> <20200812150807.GR1236603@ZenIV.linux.org.uk> <20200812163347.GS1236603@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 12, 2020 at 07:16:37PM +0200, Miklos Szeredi wrote: > On Wed, Aug 12, 2020 at 6:33 PM Al Viro wrote: > > > > On Wed, Aug 12, 2020 at 05:13:14PM +0200, Miklos Szeredi wrote: > > > > Why does it have to have a struct mount? It does not have to use > > > dentry/mount based path lookup. > > > > What the fuck? So we suddenly get an additional class of objects > > serving as kinda-sorta analogues of dentries *AND* now struct file > > might refer to that instead of a dentry/mount pair - all on the VFS > > level? And so do all the syscalls you want to allow for such "pathnames"? > > The only syscall I'd want to allow is open, everything else would be > on the open files themselves. > > file->f_path can refer to an anon mount/inode, the real object is > referred to by file->private_data. > > The change to namei.c would be on the order of ~10 lines. No other > parts of the VFS would be affected. If some of the things you open are directories (and you *have* said that directories will be among those just upthread, and used references to readdir() as argument in favour of your approach elsewhere in the thread), you will have to do something about fchdir(). And that's the least of the issues. > Maybe I'm optimistic; we'll > see... > Now off to something completely different. Back on Tuesday. ... after the window closes. You know, it's really starting to look like rather nasty tactical games...