vine-users ML アーカイブ



[vine-users:067287] Re: CFカー ドのマウント

  • From: Hideya Hane <wing@xxxxxxxx>
  • Subject: [vine-users:067287] Re: CFカー ドのマウント
  • Date: Thu, 26 Aug 2004 03:27:45 +0900 (JST)
 From: Harada kazutaka <kazutaka@xxxxxxxxxxxxxxxx>
 Date: Thu, 26 Aug 2004 02:09:11 +0900

kazutaka> もともとusb_mountスクリプトでは、"usb接続" の "ブロックデバイス" 
kazutaka> のみを対象としています。
kazutaka> その為、あえてusb-storageが(SCSIエミュレーションをして)扱っている
kazutaka> デバイス以外は除外する必要があると考えて、このようにしてあります。

  そうすると、採番でずれが発生するような気がします。
USB ストレージの場合、1 ホストアダプタで 1 ストレージ
となっていますが、純粋な SCSI の場合、1 ホストアダプタ
で n ストレージなのが普通です。
  例えば 53C875 の IF に MO とスキャナを接続し、さらに
メモリカードリーダを装着した場合、

[hane@localhost hane]$ ls -l /proc/scsi/
合計 0
-r--r--r--    1 root     root            0 Aug 26 03:09 scsi
dr-xr-xr-x    2 root     root            0 Aug 26 03:09 sym53c8xx/
dr-xr-xr-x    2 root     root            0 Aug 26 03:09 usb-storage-0/

となります。もし、53C875 に 2 台以上の HDD があるとま
ずいと思えるのは、この為です。ですから私のダサイパッチ
では、ハラダさんのオリジナルを拡張して /proc/scsi/* を
見るようにしてみました。

kazutaka> ここでは /dev/sd? と /dev/scd? のどちらになるのかを判別する為だけに
kazutaka> $2を使用していますので、他のTypeで/dev/scd?になるものがある場合は
kazutaka> 問題が起きるかもしれませんが、今のところそのような情報を持ち合わせていません。
kazutaka> もし御存じでしたら教えて頂けると助かります。

  勿論 USB ストレージに限定すれば問題ありませんが、採
番のために全ての SCSI (に見える)デバイスをなめると問題
が出ます。先の環境ではこんな感じです。

[hane@localhost hane]$ cat /proc/scsi/scsi 
Attached devices: 
Host: scsi0 Channel: 00 Id: 01 Lun: 00
  Vendor: FUJITSU  Model: M2513EL          Rev: 0010
  Type:   Optical Device                   ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 02 Lun: 00
  Vendor: Konica   Model: SCANNER Qscan    Rev: 1.10
  Type:   Processor                        ANSI SCSI revision: 01
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: MELCO    Model: CF CARD Reader   Rev: 2.20
  Type:   Direct-Access                    ANSI SCSI revision: 02

なもので、私のパッチでは devType でもう一度 for を回し
ています。このパッチも手抜きなので、本来はカウントすべ
き Type をきちんと見分ける必要があると思います。
  てな感じで如何でしょう?

======================================================
 羽根 秀也  wing@xxxxxxxx  http://www.lain.org/~wing/
            Studio 八割堂  http://www.lain.org/
======================================================