Re: [PATCH 5/6] fsmount: do not use legacy MS_ flags
From: David Howells
Date: Fri Sep 21 2018 - 11:08:01 EST
Miklos Szeredi <mszeredi@xxxxxxxxxx> 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.
> 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?
#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.
David