Ext2 dosya sistemine montaj seçenekleri ekleme

Bir ödev için ext2 dosya sistemini değiştiriyorum. Dosya sistemi bağlantısı kesilene kadar yürürlükte kalacak bir mount seçeneği eklemem gerekiyor. Bu seçeneği enum seçeneklerine zaten ekledim ve belirtilen durumun üstesinden geliyorum.

Seçenek bir anahtar/değer çiftidir, bu yüzden değerin bir yere kaydedilmesi gerekir, ancak nerede olduğunu anlayamıyorum. Diğer ext2 anahtar/değer çifti seçenekleri struct ext2_sb_info 'da saklanır.

içindeki kaynak dosyalardan herhangi birinde tanımlanmadıkları için struct ext2_super_block , struct ext2_sb_info veya struct super_block değiştiremiyorum./usr/src/linux-kaynak/fs/ext2 .

struct ext2_super_block 'un s_reserved üyesine yazılması güvenli midir? Bu değeri saklayabileceğim başka bir yer var mı?

1

2 cevap

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
katma
Teşekkürler, ancak bu alıştırmanın amaçları için bu yapıyı değiştiremiyorum.
katma yazar Anthony, kaynak

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
katma
Evet, gerçekten yeni bir alana ihtiyaç var. Bir geçici çözüm bulmalıyım.
katma yazar Anthony, kaynak