Я не думаю, что есть какой-либо программный способ запросить определенный номер инода при создании файла из пространства пользователя.Кроме видимых в stat()
результатах, номера инодов не имеют значения в пространстве пользователя;они являются частью внутренних данных бухгалтерии файловой системы, так же как и номера блоков, в которых размещается содержимое файла.
Вы, вероятно, могли бы использовать debugfs
, чтобы «изменить» номер индекса существующего файла, скопировав содержимоеодного индекса к другому, затем обновляя любые записи каталога, чтобы они указывали на новый индекс, и освобождая старый.Таким образом, вы можете создать свой файл с любым номером инода, а затем «изменить» его на нужный.Это должно быть сделано с особой осторожностью, поскольку ошибки могут привести к повреждению файловой системы и потере данных.Вам также придется учитывать возможность того, что желаемый номер вашего inode уже используется другим файлом.