Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp766900ybi; Fri, 21 Jun 2019 07:51:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqye6ElqtotFNrMPewaW+N51/mKVfbTCWA2S/xUJA1YShjBbALIvYmbxdQUkVouI8UZhy9qJ X-Received: by 2002:a63:dc50:: with SMTP id f16mr19131145pgj.447.1561128689820; Fri, 21 Jun 2019 07:51:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561128689; cv=none; d=google.com; s=arc-20160816; b=aO74fRgJJLbLnhFJVoYI3eMwoOqvXZWq2MZLrBsUmLChVQ52KNAvSciClO5eIInxXy RVgvWiESRGF715KHyV9nUW0hXSmuwGPE5Uk/zihbAwNuWK3r5n5J2gQpX8+3Z1udZsTH Bljy0x6EQCZNPdlkFLBVgQ/QrKrtCG0kqOtGWDoL4AIXbs/3+Ig4BjvvG5J/wzUnYINN JcNfOfQuGkyviBMzkqH/ukKMIx9aLYPdtSCqCu5XKhshtA9ew2FGBWl4HKBmaEuhi5Br r6ZfUq/aNUbp88A4b+eYLKI2SuFWCdjKa1MGIvzhDwkLsDHzzF58go4SNlL8kT+Ll2F5 aYnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:content-id:mime-version :subject:cc:to:references:in-reply-to:from:organization; bh=hT8nmIKs8uwISN4W4Gew+oiUv0WN2kGrpo2sOm3sNP4=; b=Y1ybkrb1xhE3u0Acb7BtmFTmzn3XcZXlpby4ThHn4NKujHuxnGCT4udAJJvyOHjo8h en0IY/jw1WRI+MgCf15dxIRYmk5NRDJ0hA+GYafR7pwFAsH3GJ2sGmYHxstyhAOGov3U 7tD4A6WxQw0h9x9p5oRvgUbTXwvi7W3Ufq3WJj/AtBA0oX06lV7bxGbtkrAAnbqOmAHZ oX01XBZ2Fshfzg73f3AipSymLXwtxzScs19tKGeDnlmsHaBaNA2j1VhVLT8N4Pb1te2g es2yGy5CJ+ir1OD+u4vGIyyFpRAwQHP1oqJdA8TDXR6cAUIyI8XbdzpMcACYjdCx3B3F ocxg== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i101si3244471pje.4.2019.06.21.07.51.14; Fri, 21 Jun 2019 07:51:29 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726385AbfFUOuy (ORCPT + 99 others); Fri, 21 Jun 2019 10:50:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57150 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726338AbfFUOuy (ORCPT ); Fri, 21 Jun 2019 10:50:54 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0E8E6C057F2B; Fri, 21 Jun 2019 14:50:53 +0000 (UTC) Received: from warthog.procyon.org.uk (ovpn-120-57.rdu2.redhat.com [10.10.120.57]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6F1B75D9E2; Fri, 21 Jun 2019 14:50:51 +0000 (UTC) Organization: Red Hat UK Ltd. Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 From: David Howells In-Reply-To: <20190621132839.6ggsppexqfp5htpw@brauner.io> References: <20190621132839.6ggsppexqfp5htpw@brauner.io> <20190621094757.zijugn6cfulmchnf@brauner.io> <155905626142.1662.18430571708534506785.stgit@warthog.procyon.org.uk> <155905627927.1662.13276277442207649583.stgit@warthog.procyon.org.uk> <21652.1561122763@warthog.procyon.org.uk> To: Christian Brauner Cc: dhowells@redhat.com, viro@zeniv.linux.org.uk, raven@themaw.net, linux-api@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, mszeredi@redhat.com Subject: Re: [PATCH 02/25] vfs: Allow fsinfo() to query what's in an fs_context [ver #13] MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <27767.1561128650.1@warthog.procyon.org.uk> Date: Fri, 21 Jun 2019 15:50:50 +0100 Message-ID: <27768.1561128650@warthog.procyon.org.uk> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Fri, 21 Jun 2019 14:50:54 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Christian Brauner wrote: > > >If you tried to go through /proc/pid/fd with open(O_PATH), I think > > >you'd get > > >the symlink, not the target. > > > > Then you should use fdget(), no? :) > > That is unless you want fsinfo() to be useable on any fd and just fds > that are returned from the new mount-api syscalls. Maybe that wasn't > clear from my first mail. fsinfo(), as coded, is usable on any fd, as for fstat(), statx() and fstatfs(). I have made it such that if you do this on the fd returned by fsopen() or fspick(), the access is diverted to the filesystem that the fs_context refers to since querying anon_inodes is of little value. Now, it could be argued that it should require an AT_xxx flag to cause this diversion to happen. > Is the information returned for: > > int fd = fsopen()/fspick(); > fsinfo(fd); > > int ofd = open("/", O_PATH); > fsinfo(ofd, ...); > > the same if they refer to the same mount or would they differ? At the moment it differs. In the former case, there may not even be a superblock attached to the fd to query, though invariants like filesystem parameter types and names can be queried. David