1

私は Linux カーネル プログラミングの初心者で、コース用に新しい RAID レベルを作成することになっています。これが、md.c ファイルに含まれる関数と構造体、特にここでmddev定義されている構造体について、いくつか自問自答する理由です。ご覧のとおり、構造自体に関するコメントはほとんどありません。その主な役割は何なのか、そして との大きな違いは何なのか、私にはさっぱりわかりません。どちらも RAID 機能を定義しているようです。md_personality

4

1 に答える 1

0

私の理解では、特定の RAID レベルで mdadm ユーティリティを使用して新しい RAID デバイスを作成するたびに、MD レイヤーは、新しく作成されたデバイスのメジャー/マイナー番号、許可される最大デバイス数など、新しく作成されたデバイスに関連する情報を保持する mddev 構造を作成します。

md_personality は、mdadm で指定した RAID レベルに関連しています。これには、RAID レベルと、RAID デバイスで実行できるサポートされている操作が含まれています。md_personality 自体は mddev の一部です。

あなたの場合、他のパーソナリティと同じように、独自の目的のために新しいパーソナリティを作成する必要があると思います。つまり、RAID 5 レベルの raid5_personality です。

于 2015-03-16T09:02:49.287 に答える