FUSE не является файловой системой и не содержит традиционных inode. Лучше думать об этом, как об обратном тому, что предоставляет API файловой системы UNIX. Например, когда вы открываете файл, вы генерируете системный вызов открытия файла. Затем ядро принимает этот системный вызов и возвращает файл.
То, что делает FUSE, это ядро, которое перенаправляет этот системный вызов в приложение FUSE, которое возвращается в пространство пользователя. Затем приложение решает, как ответить на этот системный вызов, и возвращает что-то ядру. Затем ядро передает этот ответ обратно исходному вызывающему приложению.
Во многих случаях, когда вы монтируете что-то с помощью FUSE, вы не монтируете физический носитель. Когда вы открываете файл в файловой системе FUSE, он, вероятно, собирается создать временный файл в реальной файловой системе, скопировать данные в этот файл, а затем перенаправить большинство вызовов файловых операций над файлом FUSE во созданный им временный файл. ,
Большинство приложений FUSE реализуют stat и предоставляют большую часть информации, которую будет иметь реальная структура INODE, однако эта информация, как правило, не будет иметь аспект указателя.
С технической точки зрения вы можете реализовать что-то вроде EXT3 в FUSE, где в качестве аргумента монтирования будет использоваться файловая система EXT3 для монтирования. В этом случае вы можете представить себе реальные INODES, возможно, с реальными указателями INODE. Однако такая реализация EXT3, вероятно, будет довольно непопулярна, поскольку каждый вызов файловой системы будет включать в себя переход от пользовательского пространства к ядру к пользовательскому пространству FUSE к ядру, к пользовательскому пространству FUSE к ядру и затем, наконец, к вашему приложению. FUSE имеет больше смысла для файловых систем, где производительность не важна.