fs-etfs-ram

Встраиваемая транзакционная файловая система для RAM/SRAM

Синтаксис:

fs-etfs-ram [общие опции] [-Dопции_драйвера]

Общие опции:

Опции:

-a
Обновить время доступа (atime). По умолчанию значение atime не обновляется, чтобы уменьшить число операций записи в память.
-b приоритет
Выполнить фоновое восстановление с указанным приоритетом. Значение по умолчанию – 8.
-B
Не переходить в фоновый режим. Эта опция удобна для отладки.
-c n_кластеров
Установить размер кэш-памяти. Кэш-память сохраняет недавно считанные кластеры в ОЗУ, что минимизирует необходимость доступа к устройству для повторного считывания кластера. Она также используется для объединения небольших операций записи в более объемные, включающие транзакции по нескольким кластерам. Это уменьшает фрагментацию файла в устройстве и сокращает время запуска файловой системы. Поскольку большинство устройств работает на очень высокой скорости, обычно небольшой размер кэш-памяти оказывается достаточным. Значительный объем кэш-памяти может потребоваться, если одновременно записывается большое количество файлов в небольших операциях записи. Значение по умолчанию – 64 кластера стандартного размера 1-2 КБ, в зависимости от устройства.
-C
0|1|2 Деактивировать проверку/исправление ошибок.
0
Без контроля циклическим избыточным кодом и корректировки с помощью корректирующего кода (ОЗУ).
1
Контроль циклическим избыточным кодом, без корректировки с помощью корректирующего кода (статическое ОЗУ, флэш-память типа NOR).
2
Контроль циклическим избыточным кодом, корректировка с помощью корректирующего кода (флэш-память типа NAND).

По умолчанию: применять контроль циклическим избыточным кодом для проверки наличия ошибок и корректирующий код для исправления ошибок.
-e
Стереть данные из устройства и создать пустую файловую систему, готовую к использованию. Для флэш-памяти типа NAND данные в отмеченных производителем поврежденных блоках не стираются. Поврежденные во время нормальной эксплуатации блоки (изношенные блоки) во время стирания также пропускаются.
-f число_файлов
Установить максимальное число файлов. Значение по умолчанию – 4096, максимальное значение – 32767.
-F число
Дефрагментировать, если среднее значение меньше числа кластеров, определенного аргументом число. Значение число должно находиться в диапазоне от 0 до 16. Значение по умолчанию – 6. Если число равно 0, то утилита fs-etfs-ram не выполняет дефрагментацию.
-I
Выполнить внутренние проверки целостности структур данных в процессе работы файловой системы. Это приведет к снижению производительности файловой системы. Основная цель – отладка новых драйверов и новых версий файловой системы.
-m точка_монтирования
Указать для утилиты fs-etfs-ram каталог, используемый в качестве точки монтирования. Во встраиваемой системе, где ETFS является главной файловой системой, в целях переопределения корневого каталога эта опция вводится в формате -m /. Если данная опция не указана, ETFS не монтируется.
-o число_атрибутов
Определить число атрибутов для кэш-памяти, благодаря чему можно немного ускорить операции открытия. Значение по умолчанию – 8.
-r КБ
Установить размер неформатированного раздела /dev/etfs1 в килобайтах. Этот раздел, если он существует, как правило, используется для сохранения загрузочного образа, созданного с помощью утилиты mkifs. Стандартный размер – 0.
-R
Зарезервировать необходимый объем флэш-памяти в процентном выражении, что позволит предотвратить проблемы в случае переполнения устройства флэш-памяти. Значение по умолчанию – 5% (от размера устройства).
-S
Применить контрольную сумму транзакции для быстрого и простого расчета суммы вместо использования полиномиального алгоритма контроля циклическим избыточным кодом по умолчанию. Этот метод более оперативен, но менее надежен.
-s число
Установить число блоков флэш-памяти, используемых в качестве резервных. Для восстановления необходим один резервный блок. При нормальной эксплуатации устройства флэш-памяти изнашиваются, что приводит к отказу блоков. Использование нескольких резервных блоков обеспечивает необходимую избыточность. Значение по умолчанию – 4.
-t сек
Установить таймер для операций в фоновом режиме. Значение по умолчанию – 5 секунд.
-v[v...]
Режим вывода расширенной информации. Каждая дополнительная опция -v обеспечивает вывод более подробной информации.
-W разница_стирания
Установить значение выравнивания степени износа. Разрешить для блоков флэш-памяти количество операций стирания, которое отличается больше чем на значение, определенное аргументом разница_стирания, перед попыткой:
  • введения их в использование, если это количество меньше значения аргумента разница_стирания
  • отказа от их использования, если это количество превышает значение аргумента разница_стирания.
Значение по умолчанию – 50.
-x число_экстентов
Кэшировать указанное число смещений экстентов файлов. В результате использования этой опции сокращается объем обработки, необходимой для чтения экстентов файлов в устройстве. Значение по умолчанию – 8.

Опции драйвера:

use
Получить список связанных с драйвером опций. При выборе этой опции в файловой системе выводится сообщение об использовании, после чего работа завершается без получения доступа к устройству.
size=nnM
Установить размер диска в оперативной памяти nn МБ. Значение по умолчанию – 16 МБ.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:

Встраиваемая транзакционная файловая система (Embedded Transaction Filesystem, ETFS) представляет собой файловую систему высокой степени надежности, предназначенную для использования совместно со встраиваемыми твердотельными запоминающими устройствами, в частности с флэш-памятью типа NAND. Эта файловая система поддерживает полностью иерархическую структуру каталогов с семантикой POSIX, как показано в следующей таблице:

Функция POSIX Поддержка ETFS
Дата доступа Да (если активировано с помощью опции командной строки -a)
Дата изменения Да
Дата изменения статуса Да
Максимальная длина имени файла 91 символ
Полномочия пользователя Да
Полномочия группы Да
Прочие полномочия Да
Каталоги Да
Жесткие ссылки Нет
Символьные ссылки Да

При запуске ETFS создает следующие два устройства:

/dev/etfs1
Неформатированный раздел для загрузочного образа.
/dev/etfs2
Раздел файловой системы для файлов etfs.

Неформатированный раздел используется для загрузочных образов и всегда расположен в начальном разделе устройства. Если загрузочный образ не используется, длина этого раздела составляет ноль байтов. Раздел файловой системы монтируется в пространстве путевых имен в соответствии со значением опции -m.


Note: Если опция -m не определена, то файловая система не монтируется. Для ее монтирования в дальнейшем можно использовать команду mount:

mount -tetfs /dev/etfs2 точка_монтирования


Файловая система ETFS полностью состоит из транзакций. Каждая операция записи данных пользователя или метаданных файловой системы представляет собой транзакцию. Транзакция либо может быть выполнена успешно, либо считается, что она не имела места.

Для получения дополнительной информации см. раздел "Embedded transaction filesystem (ETFS)" ("Встраиваемая транзакционная файловая система (Embedded transaction filesystem; ETFS)") в главе "Filesystems" ("Файловые системы") руководства по системной архитектуре.

Примеры:

Запуск ETFS для создания временной файловой системы в ОЗУ, смонтированном в /tmp. Поскольку эта система не сохраняется при перезагрузке и в виду того, что ОЗУ является надежным устройством, следует деактивировать все функции обнаружения и исправления ошибок данных (-C 0). Опция -e инициализирует пустую файловую систему, готовую к работе после запуска. Поскольку файловая система расположена на высокоскоростном ОЗУ, с помощью опции -c 0 необходимо определить минимально возможный размер кэш-памяти.

fs-etfs-ram -C 0 -e -c 0 -m /tmp

Предостережения:

Несмотря на то, что ETFS поддерживает большую часть семантики POSIX, некоторые функции не реализованы в целях сохранения простоты использования и эффективности работы драйвера. Не поддерживается следующая семантика POSIX:

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», Драйверы

Тематические ссылки:

fs-*, mount, umount, etfsctl, mketfs




Предыдущий раздел: Драйверы