From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it1-f181.google.com ([209.85.166.181]:52606 "EHLO mail-it1-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388909AbeIUVRp (ORCPT ); Fri, 21 Sep 2018 17:17:45 -0400 Received: by mail-it1-f181.google.com with SMTP id h3-v6so2378031ita.2 for ; Fri, 21 Sep 2018 08:28:22 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <17157.1537542475@warthog.procyon.org.uk> References: <20180920151214.15484-1-mszeredi@redhat.com> <20180920151214.15484-6-mszeredi@redhat.com> <17157.1537542475@warthog.procyon.org.uk> From: Miklos Szeredi Date: Fri, 21 Sep 2018 17:28:21 +0200 Message-ID: Subject: Re: [PATCH 5/6] fsmount: do not use legacy MS_ flags To: David Howells Cc: Miklos Szeredi , Al Viro , Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Sep 21, 2018 at 5:07 PM, David Howells wrote: > Miklos Szeredi wrote: > >> What happens if we introduce new flags for fsmount(2) and are already out >> of flags for mount(2)? I see a big mess that way. >> >> So let's instead start a clean new set, to be used in the new API. > > If we must. But let's not call them just M_* please. Let's call them > MOUNT_ATTR_* or something. Oh well. >> The MS_RELATIME flag was accepted but ignored. Simply leave this out of >> the new set, since "relatime" is the default. > > Can we make RELATIME, STRICTATIME and NOATIME an enum rather than individual > flags? Sure. > > #define MOUNT_ATTR_RDONLY 0x01 > #define MOUNT_ATTR_NOSUID 0x02 > #define MOUNT_ATTR_NODEV 0x04 > #define MOUNT_ATTR_NOEXEC 0x08 > #define MOUNT_ATTR_RELATIME 0x00 > #define MOUNT_ATTR_NOATIME 0x10 > #define MOUNT_ATTR_STRICTATIME 0x20 > #define MOUNT_ATTR_ATIME_MASK 0x30 > #define MOUNT_ATTR_NODIRATIME 0x40 > > We can also use these for a mount_setattr() syscall: > > mount_setattr(int dfd, const char *path, unsigned int atflags, > unsigned int attr_values, > unsigned int attr_mask); > > where atflags can potentially include AT_RECURSIVE. Indeed. Also, shouldn't these include the propagation flags? Thanks, Miklos