Руководство по продвинутым файловым системам

       

когда имеется общее понимание проблемы,


Теперь, когда имеется общее понимание проблемы, посмотрим, как ext3 осуществляет журналирование. В коде журнализации для ext3 используется специальный API, называемый Уровень журналирования блочного устройства (Journaling Block Device layer или JBD). JBD был разработан для журнализации на любых блочных устройств. Ext3 привязана к JBD API. При этом код файловой системы ext3 сообщает JBD о необходимости проведения модификации и запрашивает у JBD разрешение на ее проведение. Журналом управляет JBD от имени драйвера файловой системы ext3. Такое соглашение очень удобно, так как JBD развивается как отдельный, универсальный объект и может использоваться в будущем для журналирования в других файловых систем.

Имеется два важных момента в управлении журналом ext3 через JBD, вытекающих из хранения журнала в inode файле (в базовом варианте). Первое, в зависимости от ключей монтирования файловой системы ext3, этот файл можно "видеть" или "не видеть" (расположен в /.journal). Второе, такое хранение журнала делает возможным переход к ext3 через простое добавление единственного файла (и замену драйвера) без использования несовместимых расширений к метаданным ext2. Это ключ к пониманию "обратной совместимости" файловой системы ext3 с ext2 метаданными и "прямой совместимости" ext2 с ext3 драйвером.


Содержание раздела