• MS_DIRSYNC (начиная с версии Linux 2.6) — делает обновление каталогов синхронным. Это напоминает действие флага open() O_SYNC (см. раздел 13.3), но распространяется только на обновления каталогов. Описанный ниже флаг MS_SYNCHRONOUS обеспечивает расширенную функциональность по сравнению с флагом MS_DIRSYNC, позволяя синхронное обновление как файлов, так и каталогов. Флаг MS_DIRSYNC позволяет какому-либо приложению (например, open(pathname, O_CREAT), rename(), link(), unlink(), symlink() и mkdir()) убедиться в том, что обновления каталога синхронизированы, не затрачивая ресурсов на синхронизацию всех обновлений файлов. Назначение флага FS_DIRSYNC_FL (см. раздел 15.5) подобно флагу MS_DIRSYNC, с тем отличием, что флаг FS_DIRSYNC_FL можно применять к отдельным каталогам. Кроме того, в Linux системный вызов fsync(), примененный к файловому дескриптору, который указывает на каталог, позволяет выполнять синхронизацию обновлений каталогов. (Эта особенность работы системного вызова fsync() в Linux не отражена в стандарте SUSv3.)
• MS_MANDLOCK — разрешает обязательное блокирование записи для файлов в данной файловой системе. Мы рассмотрим блокирование записи в главе 51.
• MS_MOVE — автоматически перемещает существующую точку монтирования, указанную в аргументе source, в новое местоположение, определяемое аргументом target. Это соответствует параметру — move системного вызова mount(8). Действие эквивалентно размонтированию поддерева с его последующим монтированием в другом месте, за исключением того, что здесь нет такого момента времени, когда поддерево является размонтированным. Аргумент source должен быть строкой, которая указана в качестве аргумента target для предыдущего вызова mount(). Когда этот флаг указан, аргументы fstype, mountflags и data игнорируются.
• MS_NOATIME — не обновлять время последнего доступа для файлов в данной файловой системе. Назначение этого флага, а также описанного ниже флага MS_NODIRATIME, состоит в том, чтобы избежать избыточного доступа к диску, который необходим для обновления индексного дескриптора файла всякий раз, когда происходит доступ к файлу. Для некоторых приложений отслеживание метки времени не является критичным, и за счет устранения этой операции можно существенно увеличить производительность. Назначение флага MS_NOATIME такое же, как у флага FS_NOATIME_FL (см. раздел 15.5), с тем лишь отличием, что флаг FS_NOATIME_FL можно применять для отдельных файлов. Linux обеспечивает подобную функциональность также с помощью флага O_NOATIME open(), который задает такое поведение для отдельных открытых файлов (см. раздел 4.3.1).
• MS_NODEV — не разрешает доступ к блочным и к символьным устройствам в данной файловой системе. Это функция безопасности, предназначенная для того, чтобы запретить пользователям выполнение таких действий, как вставка съемного диска, содержащего специальные файлы устройств, которые могли бы разрешить произвольный доступ к системе.
• MS_NODIRATIME — не обновлять время последнего доступа для каталогов в данной файловой системе. (Этот флаг обеспечивает часть функциональности, если сравнить его с флагом MS_NOATIME, который не допускает обновление времени последнего доступа для всех типов файлов.)
• MS_NOEXEC — запретить выполнение программ (или сценариев) из этой файловой системы. Эта возможность удобна, если файловая система содержит исполняемые файлы не из Linux.
• MS_NOSUID — отключить программы с полномочиями setuid и setgid в данной файловой системе. Это функция безопасности, которая не позволяет пользователям запускать программы с полномочиями setuid и setgid со съемных устройств.
• MS_RDONLY — монтировать файловую систему только для чтения, чтобы исключить возможность создания новых файлов или изменения уже существующих.
• MS_REC (начиная с версии Linux 2.4.11) — этот флаг используется в сочетании с другими флагами (например, с MS_BIND), чтобы рекурсивно выполнить монтирование для всех точек монтирования в поддереве.