ビットマスク形式 (Version1 形式とも呼ばれる) を使用して、パラメータをチューニングできます。このビットマスク形式には、プロパティー配列のエントリを格納する sd-config-list プロパティーが含まれます。
sd ドライバには次の構文を使用します。
sd-config-list = duplet [, duplet ]*; sd-ver1-conf-data = 1, mask, value-sequence;
ssd ドライバには次の構文を使用します。
ssd-config-list = duplet [, duplet ]*; sd-ver1-conf-data = 1, mask, value-sequence;
ここで duplet は「VIDPID」、「sd-ver1-conf-data」です。
SCSI INQUIRY コマンドへのデバイス応答のベンダー ID (VID) フィールドの内容。VID フィールドは 8 文字の長さにする必要があります。ベンダー ID フィールドが 8 文字未満の場合、VID の長さが 8 文字になるように空白を追加する必要があります。
SCSI INQUIRY コマンドへのデバイス応答の製品 ID (PID) フィールドの内容。PID には左揃えの 16 文字まで含めることができます。16 文字未満を指定した場合、比較は指定した PID の長さに制限されます。
1 のバージョン番号、マスク番号、および設定されるチューニング可能値から構成されるプロパティー配列。
0x01 から 0x7FFFF までの値。mask の値は複数の目的のフラグの OR 結果にできる場合があります。表 3に、各チューニング可能パラメータのビット値を示します。
mask の値に対応する有効なプロパティー値と 0 の数のシーケンス。value-sequence の長さ制限は 19 文字です。チューニング可能パラメータのデータ型については、ディスクドライバのチューニング可能なパラメータを参照してください。
PID 値は、SCSI INQUIRY コマンドによって返された接頭辞値と sd-config-list または ssd-config-list の PID が同じである場合に、一致とみなされます。たとえば、CMS200 が sd-config-list または ssd-config-list エントリの PID であり、SCSI INQUIRY コマンドで返された PID が CMS200-R、CMS200-T、または CMS200-UV10 である場合、すべて一致とみなされます。
各ビットの位置の定義はプラットフォームによって異なります。チューニング可能パラメータは異なるプラットフォームの異なるフラグ値に対応する場合があります。Oracle Solaris 11 と Oracle Solaris 10 はどちらもビットマスク形式の同じ一連の 19 個のチューニング可能パラメータをサポートしています。
次の表に、さまざまなプラットフォームでのチューニング可能パラメータとそれらのフラグ値を示します。
|
この例では x86 プラットフォームで sd.conf ファイル内のパラメータをチューニングする方法を示します。
sd-config-list = "SUM ABC200_R","sd-ver1-x86-example"; sd-ver1-x86-example = 1,0x801,300,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0;
この例では、デバイス SUM の VID は SUM で、PID は ABC200_R です。
マスク値 0x801 は 0x00800 および 0x00001 フラグのビット単位 OR 値です。これらの値は x86 プラットフォームでの retries-busy および throttle-max チューニング可能パラメータです。
使用例 7 SPARC プラットフォーム上の ssd ドライバのチューニング可能パラメータの構成この例では SPARC プラットフォームで ssd.conf ファイル内のパラメータをチューニングする方法を示します。
ssd-config-list = "SUM XYZ200_R","sd-ver1-ssd-example"; sd-ver1-ssd-example = 1,0x5,300,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
この例では、デバイス SUM の VID は SUM で、PID は XYZ200_R です。
マスク値 0x5 は 0x00004 および 0x00001 フラグのビット単位 OR 値です。これらの値は SPARC プラットフォームでの retries-busy および throttle-max チューニング可能パラメータです。
.conf ファイルに同じターゲットデバイスをチューニングする複数の sd-config-list または ssd-config-list エントリが含まれている場合、最初のエントリのみが有効になります。同じ VID と PID を持つ後続のエントリはすべて無視されます。この動作はビットマスク形式と name:value ペア形式のどちらでも同じです。
sd-config-list プロパティーに、同じ VID と PID を持つ複数の duplet が含まれる場合、エントリの順番で後の指定が優先され、以前の duplet に現れた値が置き換えられます。この動作はビットマスク形式と name:value ペア形式のどちらでも同じです。
ビットマスク形式では、value-sequence パラメータの長さが 19 文字を超える場合、 19 番目の文字より後の値は無視されます。value-sequence の長さが 19 文字未満の場合、構成結果はその前の mask 値によって異なります。mask 値のフラグが付けられたビットの対応する値の位置が空の場合、ターゲットドライバのそのプロパティーにランダムな値が割り当てられます。
ターゲットドライバは .conf ファイルの構文チェックを行わないため、チューニング可能パラメータ名のスペルミスや value-sequence の正しくないエントリなどのエラーについての警告メッセージを表示しません。