Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp545754pxa; Wed, 12 Aug 2020 08:14:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxPb6YJULCIulOw1B0/uoR5mSKgKUlbF2WJvjrYM5Hbts5+FlJ1i1znSVsRR9/Gp7Oy0bHG X-Received: by 2002:a17:906:5902:: with SMTP id h2mr234467ejq.423.1597245274560; Wed, 12 Aug 2020 08:14:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597245274; cv=none; d=google.com; s=arc-20160816; b=Eu6dQjAk8JtLKypVtSTCc8IfN+QvS2WR4dZZHEv/I0d4darl0UuEVMYVeUJjTfKiQQ U4OgPplxASFjycSiGB2XYC0SKBtMX8obk2ETf3BNr6i5Bh7ABoW1PL13iUZBJg6juR25 NC3XCm+l1n6OpVhTOAzZcX5oQhEC8Qmaos2nfVIm/xrVQTl9owUh4Y4t/x2/ljsDx4NG tX1q9M6p6MQdx7gDlm8JMuv3vF1p5k1PBtor1KktppmzWChlq/dYwD4jDEj7maof4n0P MXgYyNflD9XV1OipYXgu5yHSNNAMKI3cuQrt1LEplMWjwEz6N4vMlaLelsi9gKF/bOrz 4QiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=VN6ir83bMjgYQIdeAbdj93K7AbOe8f4BRPi3nEgO7zE=; b=KQcs/4CPXfQBgRK5p4y/7W2ZAmku8FsYMKhCimpG2KUFjrUupXUMzSvLTDrGzejMx8 TGdPgJaMh+/WeM1x6Yqr1OUj5Tx2wGBO7ZlDAtskwmcCEisj+0KeeYJIOcNguHg33uY3 LrhThx44LS7deqzrtcLBi7N40//U3llEDpJS1b+xS3C8u+BMkKnepwnvch96xRfyP+dI TbihgVrlzb0WVO4SKq6ZIu9c1oBjSh/kBtL0+cZA3vm1md3jH4eH6At7OQx/y2MV5yVd UrUYi4mFrstWW8qPYl29I2g10xnojhQha7y9WhnDkAWHSY9LXJYpJLH6XH1lD10Byc2z TqaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b=VndYFHLs; 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 c22si1540128edr.146.2020.08.12.08.14.11; Wed, 12 Aug 2020 08:14:34 -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=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b=VndYFHLs; 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 S1726606AbgHLPNa (ORCPT + 99 others); Wed, 12 Aug 2020 11:13:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726226AbgHLPN1 (ORCPT ); Wed, 12 Aug 2020 11:13:27 -0400 Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B92FAC061383 for ; Wed, 12 Aug 2020 08:13:26 -0700 (PDT) Received: by mail-ed1-x52a.google.com with SMTP id t15so1772954edq.13 for ; Wed, 12 Aug 2020 08:13:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szeredi.hu; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VN6ir83bMjgYQIdeAbdj93K7AbOe8f4BRPi3nEgO7zE=; b=VndYFHLsjboSueemTm/gTWyU/6d+bUbeH7HKxWM99Yng+XUQUYNG/AbXbblBZBH/An /D674H4Y7QIjzxINCgZkEWjRdtLus6PyQhylX/IDuaUQ2j/48lydT4RO0vFLUPvqjs0i laNjZmgU04BRpDmsumDv8mvr+p3mwHETI4Oyo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=VN6ir83bMjgYQIdeAbdj93K7AbOe8f4BRPi3nEgO7zE=; b=sa4wGV6kxBUxidRXAtRWgl/PtaKTwyxr/lfrZlLYfoJmWhk/SXd/IVUo4ZT1u8pAMl 5G5Kate+xZ//07yUzyitFP9/bdwoo0zq3cgDqA0bH4XD1PXw/nVeHdare0b3Hz62Im8n 5BJlwgIUpbLUJhS/GyD69w+L52TZYz2nCqClfLvvresX1HmDVJ9lNhluoOmsErD+FO5P MePVASCivw2xMUDQ/K9biWx9KOjU/l6wysfERg7+kvWwmL6yBBHD4CYifN5M0zerEpfA YjcABJ49U8CzbJC95UHD1k/7/hZn9M5YZdowcuP3UJLOO0S74lBs/mMLKcLWkZ+ckoOi 3rVA== X-Gm-Message-State: AOAM533NWxMINTLEpUqxz7D1ct3dQvW8+brG3/0qfRq+rC/llakyeQvM lG6oe/vyEV5n0Jnq/Wx1Bb9rE25pyLuOlCaIFG/AnQ== X-Received: by 2002:a05:6402:13d4:: with SMTP id a20mr368514edx.161.1597245205349; Wed, 12 Aug 2020 08:13:25 -0700 (PDT) MIME-Version: 1.0 References: <5C8E0FA8-274E-4B56-9B5A-88E768D01F3A@amacapital.net> <20200812143957.GQ1236603@ZenIV.linux.org.uk> <20200812150807.GR1236603@ZenIV.linux.org.uk> In-Reply-To: <20200812150807.GR1236603@ZenIV.linux.org.uk> From: Miklos Szeredi Date: Wed, 12 Aug 2020 17:13:14 +0200 Message-ID: Subject: Re: file metadata via fs API (was: [GIT PULL] Filesystem Information) To: Al Viro 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 Content-Type: text/plain; charset="UTF-8" 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 5:08 PM Al Viro wrote: > > On Wed, Aug 12, 2020 at 04:46:20PM +0200, Miklos Szeredi wrote: > > > > "Can those suckers be passed to > > > ...at() as starting points? > > > > No. > > Lovely. And what of fchdir() to those? Not allowed. > Are they all non-directories? > Because the starting point of ...at() can be simulated that way... > > > > Can they be bound in namespace? > > > > No. > > > > > Can something be bound *on* them? > > > > No. > > > > > What do they have for inodes > > > and what maintains their inumbers (and st_dev, while we are at > > > it)? > > > > Irrelevant. Can be some anon dev + shared inode. > > > > The only attribute of an attribute that I can think of that makes > > sense would be st_size, but even that is probably unimportant. > > > > > Can _they_ have secondaries like that (sensu Swift)? > > > > Reference? > > http://www.online-literature.com/swift/3515/ > So, naturalists observe, a flea > Has smaller fleas that on him prey; > And these have smaller still to bite 'em, > And so proceed ad infinitum. > of course ;-) > IOW, can the things in those trees have secondary trees on them, etc.? > Not "will they have it in your originally intended use?" - "do we need > the architecture of the entire thing to be capable to deal with that?" No. > > > > Is that a flat space, or can they be directories?" > > > > Yes it has a directory tree. But you can't mkdir, rename, link, > > symlink, etc on anything in there. > > That kills the "shared inode" part - you'll get deadlocks from > hell that way. No. The shared inode is not for lookup, just for the open file. > "Can't mkdir" doesn't save you from that. BTW, > what of unlink()? If the tree shape is not a hardwired constant, > you get to decide how it's initially populated... > > Next: what will that tree be attached to? As in, "what's the parent > of its root"? And while we are at it, what will be the struct mount > used with those - same as the original file, something different > attached to it, something created on the fly for each pathwalk and > lazy-umounted? And see above re fchdir() - if they can be directories, > it's very much in the game. Why does it have to have a struct mount? It does not have to use dentry/mount based path lookup. Thanks, Miklos