テープドライバのインタフェースについては、 /usr/src/linux/drivers/scsi/README.st ファイルか、 st(4) の man ページ(man stと入力)にまとめられています。 README.st には、様々なドライバの様々なパラメタや オプション、ドライバが使っている基本的なしくみも記述してあります。
テープドライバは、通常 mt コマンド(man mt を参照)でアクセスします。mtx は、テープオート ローダーの制御に対応しているプログラムです ( mtx.sourceforge.netを参照)。
st ドライバは、周辺機器タイプが「シーケンシャルアクセス」(コード番号が 1)で ある SCSI デバイスを検出します(ドライバが「reject_list」にあるものは除く)。 (現状 reject_list にある項目は OnStream のテープドライブ[次のセクションで 説明]だけです)。
st ドライバは 32 台のテープドライブを認識できます。テープドライブ それぞれに 8 つのデバイスファイル名があります。4 つのモード(番号は 0 から 3 まで)それぞれに、リワインドあり、リワインドなしのバリエーションがあります。 テープデバイスのファイル名は、Section 3.2に例があるので見て ください。テープドライブは st ドライバのロード後にいくつでも追加できます (限度の 32 個まで)。
このドライバは、ide-scsi 擬似アダプタのドライバをともに用いれば、ATAPI テープドライブを制御できます。Section 9.2.4で論じたことは、 ATAPI テープデバイス(と ATAPI フロッピー)にも当てはまります。
st=xxx[,yyy] の xxx は下記の内の 1 つを取ります。 buffer_kbs:<n> write_threshold_kbs:<n> max_buffers:<n> max_sg_segs:<n> (以前のブート時のパラメタである st=aa[,bb[,cc[,dd]]] もサポートされていますが、 推奨されません) |
デフォルトのドライバのバッファサイズ(buffer_kbs)は 32(つまり 32 KB)です。 デフォルトの非同期書き込み閾値は 30(つまり 30 KB)です。 デフォルトで初期化時に確保するバッファの数(max_buffers)は 4 です。 デフォルトで使用する scatter/gather セグメントの数(max_sg_segs)は 32 です。
【訳註:Scatter/Gather(スキャッタ・ギャザー) とは、DMA、バス・マスター等、 高速な転送を行う場合に、分散してしまっているメモリ上のデータをまとめて 連続転送する機能です】
ありません。
OnStream が製造したテープドライブには、別のドライブがあります。 付加的な高レベルのドライバで、st ドライバと共存できます。このドライバ は「osst」です(モジュール名も同じ)。
OnStream の SC-x0 SCSI テープドライブは、標準の st ドライバでは動作 しません。そのかわりに、特別な osst ドライバと /dev/osst<x> キャラクタデバイスノード(メジャー 番号 206)が必要になります。 (<x> は Section 3.2 にあるような、st デバイスと 同様な命名規則に従います)。 usb-storage と ide-scsi を用いれば、USB-x0 と DI-x0 ドライブが動作するかも しれません。OnStream には、第二世代のテープドライブ(ADR-x0)が存在することに 注意してください。これは、テープ(QIC-157)用の標準 SCSI-2 コマンドをサポート しており、st の標準ドライバで動作します。さらに詳しい情報は、カーネルソース のファイルである /usr/src/linux/drivers/scsi/README.osst を見てください。 OnStream ドライバ情報をさらに知りたければ、 linux1.onstream.nl/test/にあります。