Додавання параметрів монтування до файлової системи ext2

Я змінюю файлову систему ext2 для завдання. Мені потрібно додати параметр mount, який залишиться в силі, доки не буде знята файлова система. Я вже додав параметр до переліку параметрів і розглядаю ситуацію, де вона вказана.

Параметр - це ключ/значення пари, тому вартість має бути десь збережено, але я не можу зрозуміти, де. Інший параметр ext2 key/value pair зберігається в struct ext2_sb_info .

Я не можу змінити struct ext2_super_block , struct ext2_sb_info або struct super_block , оскільки вони не визначені в жодному з вихідних файлів в /usr/src/linux-source/fs/ext2 .

Чи безпечно писати член до struct ext2_super_block s_reserved ? Чи ще десь я можу зберегти це значення?

1

2 Відповіді

struct ext2_sb_info is probably the right place - it's defined in include/linux/ext2_fs_sb.h, you can modify it there.

2
додано
Дякую, але для цілей цієї вправи я не можу змінити цю структуру.
додано Автор Anthony, джерело

It depends what kind of data your mount option accepts. If it's simple bit like other mount options, then there is ->s_mount_opt. But if it is something more complex, new field is required. And ext2_sb_info is the right place for it regardless of what exercise says.

2
додано
Так, це дійсно потребує нового поля. Мені доведеться знайти обхідний шлях.
додано Автор Anthony, джерело