Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp874836ybb; Fri, 3 Apr 2020 13:31:44 -0700 (PDT) X-Google-Smtp-Source: APiQypLcS1lI1pPb/4eL6BLRjDiJ6L1flQcpxR1ds4Uut3KSmYJ7fDea4G4SkvA+wx3b7J6H9yKC X-Received: by 2002:aca:b1d4:: with SMTP id a203mr4648143oif.91.1585945904173; Fri, 03 Apr 2020 13:31:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585945904; cv=none; d=google.com; s=arc-20160816; b=zgBA5tQMb8hulxvCE13E4IQDuwwCA+Xlhu89psj3sgXwEsH61hhePJkYRdNTbqrF7b 9cmHsCTY/HvaCgQNkWmhuN/DotwGaokG3i1WDUFhOJXRMG3DZDRXtdicfKB04mOzRmWZ J9gR3VluDL1XCJghejpwlgt9jkUvA1y/LC1HPenmpzs0APIxipwr+vFb2byjOVIjQXMi 7HyXrSMw/Y+WFTppledtFKe/9f2bRndmftT2zfaBcIz2SU+Hx9+DQCb4nJHMm/MHTp1v qu9ZBqfPRHvTCb89IxBoA7ofndz5mBOrIu2yMuWwPyXyRWD1BMi49xWuYtkTQtnE+I2O /fXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:from:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:date; bh=hNzBZmKcr5cC3PloKdXITtoYUctJr13bGZHD3jKmZvM=; b=JtaI60G9DrDkGM7NeEDBA4C09a2mkBfIEix/0TkYQj+BRFsatFwcCZ21M7Lm6Z7lUP Q3e8VgWxgYXJBfj2UTebKqCyW2JdTzdB/VFzRKcrXJzHwqQpOtdXbvQcc4/qLj61WGAB xTxaJOJw3AtM9wxJ7d25uAxuK1z627uudRUs3nnMXeStoNfKjQyQtV5AwfqkRZcABvcT WCl3jWfeQunzvs+C5jqCX+sQ4e61Yv2ENPQJxex9MN/A7sfxIh9fJcZ/t+nHz1suWGVz AxcClx+STEKeq6/HrYj8ckKM21zRD9J5NRplUaiuPtPPMbki1b9BqnlSIKBf+qCgQmbc mvOQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i17si4413287oto.278.2020.04.03.13.31.31; Fri, 03 Apr 2020 13:31:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728184AbgDCUaY (ORCPT + 99 others); Fri, 3 Apr 2020 16:30:24 -0400 Received: from fieldses.org ([173.255.197.46]:46832 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726368AbgDCUaY (ORCPT ); Fri, 3 Apr 2020 16:30:24 -0400 Received: by fieldses.org (Postfix, from userid 2815) id 25E693B9; Fri, 3 Apr 2020 16:30:24 -0400 (EDT) Date: Fri, 3 Apr 2020 16:30:24 -0400 To: Lennart Poettering Cc: Miklos Szeredi , Ian Kent , David Howells , Christian Brauner , Linus Torvalds , Al Viro , dray@redhat.com, Karel Zak , Miklos Szeredi , Steven Whitehouse , Jeff Layton , andres@anarazel.de, keyrings@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Aleksa Sarai Subject: Re: Upcoming: Notifications, FS notifications and fsinfo() Message-ID: <20200403203024.GB27105@fieldses.org> References: <20200401144109.GA29945@gardel-login> <2590640.1585757211@warthog.procyon.org.uk> <36e45eae8ad78f7b8889d9d03b8846e78d735d28.camel@themaw.net> <27994c53034c8f769ea063a54169317c3ee62c04.camel@themaw.net> <20200403111144.GB34663@gardel-login> <20200403151223.GB34800@gardel-login> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200403151223.GB34800@gardel-login> User-Agent: Mutt/1.5.21 (2010-09-15) From: bfields@fieldses.org (J. Bruce Fields) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 03, 2020 at 05:12:23PM +0200, Lennart Poettering wrote: > BTW, while we are at it: one more thing I'd love to see exposed by > statx() is a simple flag whether the inode is a mount point. There's > plenty code that implements a test like this all over the place, and > it usually isn't very safe. There's one implementation in util-linux > for example (in the /usr/bin/mountpoint binary), and another one in > systemd. Would be awesome to just have a statx() return flag for that, > that would make things *so* much easier and more robust. because in > fact most code isn't very good that implements this, as much of it > just compares st_dev of the specified file and its parent. Better code > compares the mount ID, but as mentioned that's not as pretty as it > could be so far... nfs-utils/support/misc/mountpoint.c:check_is_mountpoint() stats the file and ".." and returns true if they have different st_dev or the same st_ino. Comparing mount ids sounds better. So anyway, yes, everybody reinvents the wheel here, and this would be useful. (And, yes, we want to know for the vfsmount, we don't care whether the same inode is used as a mountpoint someplace else.) --b.