Здравствуйте, я новичок в программировании ядра.Я пишу небольшой модуль ядра, основанный на шаблоне wrapfs для реализации механизма резервного копирования.Это чисто для учебной основы.
Я расширяю wrapfs так, что при выполнении вызова записи wrapfs прозрачно делает копию этого файла в отдельном каталоге и затем выполняет запись в файл.Но я не хочу, чтобы я создавал копию для каждого вызова записи.
Наивным подходом может быть проверка наличия файла в этом каталоге.Но я думаю, что для каждой проверки звонка это может быть серьезным наказанием.
Я также мог бы проверить сначала запись вызова, а затем сохранить значение для этого конкретного файла, используя атрибут private_data.Но это не будет храниться на диске.Так что мне нужно проверить это снова.
Я также думал об использовании времени модификации.Я мог бы сэкономить время модификации.Если старое время модификации раньше этого времени, то создается только копия, иначе я ничего не буду делать.Я попытался использовать inode.i_mtime для этого, но это было измененное время еще до того, как была вызвана запись, также приложения могут изменять это время.
Итак, я думал о сохранении некоторого значения в inode на диске, которое указывает, была создана его резервная копия или нет.Это возможно?Любые другие предложения или подходы приветствуются.