From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8521BC43331 for ; Tue, 31 Mar 2020 08:15:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5FE5D20714 for ; Tue, 31 Mar 2020 08:15:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730125AbgCaIPT (ORCPT ); Tue, 31 Mar 2020 04:15:19 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:36301 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729997AbgCaIPS (ORCPT ); Tue, 31 Mar 2020 04:15:18 -0400 Received: from ip5f5bf7ec.dynamic.kabel-deutschland.de ([95.91.247.236] helo=wittgenstein) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jJC3B-0000Od-Ku; Tue, 31 Mar 2020 08:15:09 +0000 Date: Tue, 31 Mar 2020 10:15:07 +0200 From: Christian Brauner To: Miklos Szeredi Cc: David Howells , Linus Torvalds , Al Viro , dray@redhat.com, Karel Zak , Miklos Szeredi , Steven Whitehouse , Jeff Layton , Ian Kent , andres@anarazel.de, keyrings@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Lennart Poettering , Aleksa Sarai Subject: Re: Upcoming: Notifications, FS notifications and fsinfo() Message-ID: <20200331081507.f6an4x32cxwpxdpd@wittgenstein> References: <1445647.1585576702@warthog.procyon.org.uk> <20200330211700.g7evnuvvjenq3fzm@wittgenstein> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 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 Tue, Mar 31, 2020 at 07:11:11AM +0200, Miklos Szeredi wrote: > On Mon, Mar 30, 2020 at 11:17 PM Christian Brauner > wrote: > > > Fwiw, putting down my kernel hat and speaking as someone who maintains > > two container runtimes and various other low-level bits and pieces in > > userspace who'd make heavy use of this stuff I would prefer the fd-based > > fsinfo() approach especially in the light of across namespace > > operations, querying all properties of a mount atomically all-at-once, > > fsinfo(2) doesn't meet the atomically all-at-once requirement. Sure, > it's possible to check the various change counters before and after a > batch of calls to check that the result is consistent. Still, that's > not an atomic all-at-once query, if you'd really require that, than > fsinfo(2) as it currently stands would be inadequate. It at all that's only true for batch requests. > > > and safe delegation through fds. Another heavy user of this would be > > systemd (Cced Lennart who I've discussed this with) which would prefer > > the fd-based approach as well. I think pulling this into a filesystem > > and making userspace parse around in a filesystem tree to query mount > > information is the wrong approach and will get messy pretty quickly > > especially in the face of mount and user namespace interactions and > > various other pitfalls. > > Have you actually looked at my proposed patch? Do you have concrete Yes. So have others, Al actively disliked and nacked it and no-one got excited about it. > issues or just vague bad feelings? We have had that discussion on-list where I made my "vague bad feelings" clear where you responded with the same dismissive style so I don't see the point in repeating this experience. Again, I want to make it clear that here I'm stating my preference as a user of this api and as such I don't want to have to parse through a filesystem to get complex information about filesystems. We've had fruitful discussions [1] around how fsinfo() ties in with supervised mounts and the rest of the mount api and its clear and simple especially in the face of namespaces and implements a nice delegation model. So +1 from me. Christian [1]: https://youtu.be/LN2CUgp8deo?t=6840