Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp3439894imm; Fri, 25 May 2018 05:52:45 -0700 (PDT) X-Google-Smtp-Source: AB8JxZo7c2ZqAL+lG8ZsbPNq395OZKGmfrLVZSf/J/hIeBlTVCb6FJHuWyEItOoNOyQlHAl+b4mi X-Received: by 2002:a17:902:2983:: with SMTP id h3-v6mr2546101plb.232.1527252765919; Fri, 25 May 2018 05:52:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527252765; cv=none; d=google.com; s=arc-20160816; b=vGmkZsZxSN+dBSofo3IUQ5Qouq3CyeULuOl/R6tTTZGUdUWN6xK5PnoATPMyWpPGM5 vTX51P3FxN8k6JKo9GS3qxmoiBc8ic1tIpGicYnybH9bFMmbQ545zWZv82MlQw4BwAEi mdxfU9PrJsYRcq9fzkzXy6f8To5vvnkFXzNkEgwpUw5ZST7yyxR1qlLav6NXX3XtDIBU +13gD5Lp/j2iiciY+Oq5HW+GKcEVP9Hv2BY4iOpt4Mhj5qFzArqEYU816xGsd2IjG+mj vBUfrFa8Kjs5WNOQfPCEOxzrg59oKTe28+kvDqL4Aln89vwyWbT0jqMCoxgcWOdFxe/B ealQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=dCQJo/7ROc9dxYIsiGhlQ23RBsLulPD/CmAkAKWCoxo=; b=ZSDvdn+jS23xc9NOxqS8MMSwQfv68OMLH9SfhkWT7GArEpAKt3NwxS80zCSggQHPNG aikJZsoadTiHEeihzql92ZRJ3DoZnEHyERftBci/w45/hn4/5OWy2c2HPgzB6G1OesJ9 G75jtjdXuse+dmHLq0l7K1P9dw9Z+Ub+1GUOp9YvQgIJRJCLnOyfkfexlP9uJXJfPgEu wV3PuAG82EjTAABZZ5HC/SG92N3Aw69YNvR1LaP5Pwvh+F9Ln1ywCrX8Yxm2fNjkpx21 J8PL7vLLGFwJ4CXJauBKWze9kqC/nsdmAfN2ChbhPk5rHpmPAWcJjyRqtDuWr2m6MJDo RUyA== 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 g33-v6si24628488plb.297.2018.05.25.05.52.30; Fri, 25 May 2018 05:52:45 -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 S935836AbeEYMvC (ORCPT + 99 others); Fri, 25 May 2018 08:51:02 -0400 Received: from mail-wr0-f193.google.com ([209.85.128.193]:40365 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933573AbeEYMtr (ORCPT ); Fri, 25 May 2018 08:49:47 -0400 Received: by mail-wr0-f193.google.com with SMTP id l41-v6so9058801wre.7; Fri, 25 May 2018 05:49:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=dCQJo/7ROc9dxYIsiGhlQ23RBsLulPD/CmAkAKWCoxo=; b=Yb7WRw/Sd2XAJGbGrQjeQzkQu8ZEmo5AgXHd4t3omoKxDm3ncKDujHLDicosh0D+02 u5YfPE3OSO8ux1b7w0ZYlRlzBm3LfuspDCF1m643Owc1BiSt5PLqPcmneOOPtpj37ORH Urbb0Y0vgmV+Wki1/t8Z0waCC8VAwFGH66cQCIiDbz5HJQ6cS7csZ7BMTXgg3lH0bu+L lBVizWLLOVYcKhyfYYHj6BQ4G+58g2a/tlnj/n19taDDnEYV41Fpz8Ypie4w2QgJS57v vDopA9hFSo1iDT9TPehENpd5leKoQP8xxF1Nb+wSarKNwxyyneTa5I1VqUU5av4USs2E TpIQ== X-Gm-Message-State: ALKqPwdQgnX22TPEeXZTnVraCk6KwerUsflhlXJN1cbGrvuTnjte6HJC XvClM3ycEUa+S4xgUP+uNnLgxLv554g= X-Received: by 2002:adf:f6c9:: with SMTP id y9-v6mr2097736wrp.4.1527252585955; Fri, 25 May 2018 05:49:45 -0700 (PDT) Received: from localhost.localdomain ([2a02:8070:8895:9700:c80a:973d:8254:7f55]) by smtp.gmail.com with ESMTPSA id u8-v6sm6053292wmc.40.2018.05.25.05.49.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 May 2018 05:49:45 -0700 (PDT) From: Christian Brauner To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Cc: torvalds@linux-foundation.org, tglx@linutronix.de, kstewart@linuxfoundation.org, gregkh@linuxfoundation.org, pombredanne@nexb.com, linux-api@vger.kernel.org, ebiederm@xmission.com, seth.forshee@canonical.com, viro@zeniv.linux.org.uk, Christian Brauner Subject: [PATCH 4/6 v1 resend] statfs: add ST_SHARED Date: Fri, 25 May 2018 14:48:23 +0200 Message-Id: <20180525124825.23875-5-christian@brauner.io> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180525124825.23875-1-christian@brauner.io> References: <20180525124825.23875-1-christian@brauner.io> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently userspace can only determine whether a mountpoint is shared by parsing /proc//mountinfo. It would be convenient to simply retrieve this property with a statvfs() call. This let's userspace avoid costly parsing, supports cases where /proc is not mounted, and supports usecases where file descriptors to mountpoints are passed between processes that are inspected via fstatvfs(). This is especially helpful in all cases where userspace is not interested in specific propagation properties but rather just wants to either turn on or turn off propagation for specific mountpoints. Signed-off-by: Christian Brauner --- v0->v1: * non-functional changes: extend commit message --- fs/statfs.c | 2 ++ include/linux/statfs.h | 1 + 2 files changed, 3 insertions(+) diff --git a/fs/statfs.c b/fs/statfs.c index 61b3063d3921..2fc6f9c3793c 100644 --- a/fs/statfs.c +++ b/fs/statfs.c @@ -31,6 +31,8 @@ static int flags_by_mnt(int mnt_flags) flags |= ST_RELATIME; if (mnt_flags & MNT_UNBINDABLE) flags |= ST_UNBINDABLE; + if (mnt_flags & MNT_SHARED) + flags |= ST_SHARED; return flags; } diff --git a/include/linux/statfs.h b/include/linux/statfs.h index e1b84d0388c1..5416b2936dd9 100644 --- a/include/linux/statfs.h +++ b/include/linux/statfs.h @@ -41,5 +41,6 @@ struct kstatfs { #define ST_NODIRATIME (1<<11) /* do not update directory access times */ #define ST_RELATIME (1<<12) /* update atime relative to mtime/ctime */ #define ST_UNBINDABLE (1<<17) /* change to unbindable */ +#define ST_SHARED (1<<20) /* change to shared */ #endif -- 2.17.0