Linux文件系统嵌套和系统调用挂钩

时间:2016-03-09 11:38:19

标签: linux linux-kernel filesystems hook fs

使用2.6.32 linux内核,我需要在块设备分区上使用特定的文件系统,我不想挂开/写/读/关闭(以及其他几个)系统调用来读/写,在另一个时尚那个特定的文件系统,应该在这个分区上写什么。

仅适用于此分区,使用此文件系统的其他分区将照常运行。

保险丝本来是完美的,但我不能使用它,因为内存消耗(对目标系统来说太大)

如何在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 mount中完成的文件操作。

有关我应如何处理的任何提示?

1 个答案:

答案 0 :(得分:0)

我发现了可堆叠的文件系统。 Wrapfs很有趣,应该符合我的需求:http://wrapfs.filesystems.org/

它允许在vfs和低fs之间的中间层捕获所有系统调用。

解决。