Читаем Linux API. Исчерпывающее руководство полностью

• FS_DIRSYNC_FL (с версии Linux 2.6) — сделать синхронным обновление каталогов (то есть open(pathname, O_CREAT), link(), unlink() и mkdir()). Эта функция аналогична механизму синхронного обновления файлов, описанному в разделе 13.3. Синхронное обновление каталогов точно так же отражается на производительности. Данный параметр можно применять только для каталогов. (Флаг монтирования MS_DIRSYNC, описанный в подразделе 14.8.1, обеспечивает подобную возможность, но по отношению к монтированию.)

• FS_IMMUTABLE_FL — сделать файл неизменяемым. Данные файла нельзя обновить (write() и truncate()), а изменения метаданных не допускаются (то есть chmod(), chown(), unlink(), link(), rename(), rmdir(), utime(), setxattr() и removexattr()). Установить данный флаг для файла могут только привилегированные процессы (CAP_LINUX_IMMUTABLE). Когда он установлен, даже привилегированный процесс не может изменить содержимое файла или его метаданные.

• FS_JOURNAL_DATA_FL — задействовать журналирование данных. Этот флаг поддерживается только в файловых системах ext3 и ext4. Они обеспечивают три уровня журналирования: журнальное, упорядоченное и с обратной записью. Все режимы заносят в журнал обновления метаданных файла, однако в журнальном дополнительно фиксируются обновления данных файла. В файловой системе, использующей журналирование в упорядоченном режиме или с обратной записью, привилегированный (CAP_SYS_RESOURCE) процесс может задействовать пофайловое журналирование обновлений данных с помощью установки этого флага. (Страница mount(8) руководства описывает различие между упорядоченным режимом и обратной записью.)

• FS_NOATIME_FL — не обновлять время последнего доступа к файлу при доступе к нему. Это позволяет избежать обновления индексного дескриптора файла при каждом доступе к файлу и таким образом повышает эффективность ввода-вывода (см. описание флага MS_NOATIME в подразделе 14.8.1).

• FS_NODUMP_FL — не включать данный файл в резервные копии, создаваемые с помощью команды dump(8). Действие этого флага зависит от параметра — h, описанного на странице dump(8) руководства.

• FS_NOTAIL_FL — отключить упаковку хвостов. Этот флаг поддерживается только в файловой системе Reiserfs. Он отключает функцию, которая пытается упаковать небольшие файлы (и завершающие фрагменты больших файлов) в тот же дисковый блок, что и метаданные файла. Упаковку хвостов можно отключить и для файловой системы Reiserfs в целом, смонтировав ее с параметром mount — notail.

• FS_SECRM_FL — удалить файл «бесследно». Назначение данной нереализованной функции заключается в надежном удалении файла при его стирании; то есть сначала файл затирается другими данными, чтобы не позволить программе сканирования диска считать его или восстановить. (Задача по-настоящему надежного удаления файлов является довольно сложной: фактически может потребоваться многократная запись на магнитный носитель для надежного стирания записанных ранее данных; см. работу [Gutmann, 1996].)

• FS_SYNC_FL — сделать обновления файла синхронными. Применительно к файлам данный флаг обеспечивает синхронность операций записи в файл (как если бы был указан флаг O_SYNC для всех открытий данного файла). Применительно к каталогу обладает тем же действием, что и описанный выше флаг синхронных обновлений каталога.

• FS_TOPDIR_FL (с версии Linux 2.6) — помечает каталог для специальной обработки согласно стратегии Орлова для выделения блоков. Данная стратегия была создана под влиянием системы BSD. Она является видоизменением стратегии выделения блоков в файловой системе ext2, которая старается повысить шансы на то, чтобы взаимосвязанные файлы (например, расположенные внутри какого-либо каталога) были размещены на диске рядом друг с другом, что может уменьшить время поиска на диске. Подробности см. в работах [Corbet, 2002] и [Kumar et al., 2008]. Флаг FS_TOPDIR_FL работает только в файловой системе ext2 и ее потомках, ext3 и ext4.

• FS_UNRM_FL — допустить восстановление данного файла после его удаления. Эта функция не реализована, поскольку есть возможность реализовать механизмы восстановления файлов вне ядра.

В целом, если флаги индексного дескриптора установлены для каталога, их автоматически наследуют новые файлы и подкаталоги, создаваемые внутри данного каталога. Из этого правила есть исключения:

• флаг FS_DIRSYNC_FL (chattr +D), который можно применять только для каталога, наследуется только подкаталогами, создаваемыми в данном каталоге;

• когда флаг FS_IMMUTABLE_FL (chattr +i) устанавливается для каталога, он не наследуется файлами и каталогами, созданными внутри этого каталога, поскольку данный флаг не допускает добавления новых записей в каталоге.

Перейти на страницу:

Похожие книги

C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

Программирование, программы, базы данных
1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных