E.4. st ドライバ

E.4.1. st のコンパイルオプション

下記のコンパイルオプションの大部分は、ブート時もしくはモジュールロード時 のパラメタと実行時の設定(例えば ioctl)の両方もしくはどちらか一方で上書き 可能です。

下記のパラメタは、linux/drivers/scsi/st_options.h で定義されています。

ST_NOWAIT                    {0}
ST_IN_FILE_POS               {0}
ST_RECOVERED_WRITE_FATAL     {0}
ST_DEFAULT_BLOCK             {0}
ST_BUFFER_BLOCKS             {32}
ST_WRITE_THRESHOLD_BLOCKS    {30}
ST_MAX_BUFFERS               {4}
ST_MAX_SG                    {16}
ST_FIRST_SG                  {8}
ST_FIRST_ORDER               {5}
ST_TWO_FM                    {0}
ST_BUFFER_WRITES             {1}
ST_ASYNC_WRITES              {1}
ST_READ_AHEAD                {1}
ST_AUTO_LOCK                 {0}
ST_FAST_MTEOM                {0}
ST_SCSI2LOGICAL              {0}
ST_SYSV                      {0}

下記のパラメタは、linux/drivers/scsi/st.c に定義されています。

ST_TIMEOUT                   {900*HZ}
ST_LONG_TIMEOUT              {14000*HZ}

E.4.2. st の ioctl と ユーザインタフェース

Linux のテープインタフェースは、 /usr/src/linux/include/linux/mtio.h . で定義されています。

下記の ioctl()はアルファベット順にリストしてあり、簡単な説明が右側にあります。 (st のドキュメント(特に man 4 st) を参照。)

MTIOCTOP   [テープコマンドを実行し、ドライブやドライバのオプションを設定]
MTIOCGET   [ドライバの状態を取得]
MTIOCPOS   [現在のテープ位置を取得]

open()   O_RDONLY, O_RDWR
close()
read()
write()
ioctl()