Я работаю над кодом FAT
файловой системы в Linux Kernel 3.3
. Для проекта мне нужно создать файл во время монтирования в корневом каталоге смонтированной файловой системы. Я понял, где написать код для его создания, но есть несколько вопросов по созданию. (Функция vfat_mount
в linux/fs/fat/namei_vfat.c
).
Функция mount
, похоже, не имеет точки монтирования в качестве пути, но я считаю, что данные корневого каталога хранятся в суперблоке. Я не знаю, как создать файл, используя эти доступные данные. Системный вызов open()
не подходит, поэтому следует ли мне использовать для этой цели vfat_create
, специфичную для файловой системы? Если да, может ли кто-нибудь помочь мне с более подробной информацией или некоторыми примерами.
Кроме того, файл должен охватывать несколько кластеров, и я не хочу, чтобы файловая система выполняла поиск и выделяла ему свободные кластеры. Так есть ли способ создать файл таким образом напрямую, или мне следует использовать что-то вроде fat_add_cluster()
после создания файла?