Miklos Szeredi <[email protected]> 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

Reply via email to