On Tue, Jan 16, 2018 at 10:10:12AM +0000, David Howells wrote: > Inside the kernel the MS_* flags appear to belong to a number of fundamentally > different classes: Good point, but I'm not sure about your terminology -- for example "topology" sounds strange if we use "propagation" for years. > (1) Things like MS_SILENT and MS_REMOUNT which affect the behaviour of the > mount process, but aren't persistent beyond that. mount-operation flags (now including MS_BIND too) > (2) Inter-namespace topology management, controlling how mounts are shared > and duplicated between namespaces. propagation flags > (3) Restrictions on accesses through a particular mountpoint, eg. MS_NODEV, > MS_NOEXEC. VFS flags (now including MS_BIND|MS_REMOUNT|MS_RDONLY too) > (4) Instructions to a filesystem on how a superblock is to behave. FS flags > I think the classes are fundamentally different - and we've already separated > (4) from the others inside the kernel. However, I've no great objection to > keeping (2) and (3) together in the same mask. It just sounds cleaner to > separate them. I agree. Karel -- Karel Zak <kzak@xxxxxxxxxx> http://karelzak.blogspot.com