2016-03-09 2 views
0

Используя ядро ​​Linux 2.6.32, мне нужно использовать определенную файловую систему на разделе блочного устройства, и я не буду подключать системные вызовы open/write/read/close (и несколько других) для чтения/write, другими словами, что конкретная файловая система, что должно быть написано на этом разделе.Локализация файловой системы Linux и перехват syscall

Это будет только для этого раздела, другие разделы, использующие эту файловую систему, будут действовать как обычно.

Предохранитель был бы идеальным для этого, но я не могу использовать его из-за потребления памяти (слишком большой для целевой системы)

Как я могу подключить системные вызовы между VFS и смонтированной файловой системы, для, например, с промежуточным индексом и буферизацией всего чтения/записи?

Я пробовал такие вещи, как, что:

mount -t ext3 /dev/sda1 /my/mount/data 
mkfs.vfat /my/mount/data/big_file 
mount -o loop -t vfat /my/mount/data/big_file /my_mount/custom_data 

где VFAT будет мой собственный файловой системы, но отладка показывает, что VFAT никогда не ссылается на JFS файлы операций, где есть файловые операции, которые выполняются внутри custom_data монтажа.

Любые намеки на то, как я должен действовать?

ответ

0

Я обнаружил штабелируемую файловую систему. Wrapfs интересен и должен соответствовать моим потребностям: http://wrapfs.filesystems.org/

Он позволяет захватывать промежуточный слой между vfs и нижним fs всеми системными вызовами.

Решите.

Смежные вопросы