scsihost (SCSI_ID): rejecting I/O to device being removed
SCSIデバイスを取り外す前に、syncコマンドなどを使用してキャッシュの同期を取る。加えて、SCSIデバイスを取り外す際には、当該SCSIデバイスをアンマウントするなど、他のユーザによるI/Oリクエストが発生しないようにする。また、大量のファイルをコピーした直後などは、リクエストキュー内にI/Oリクエストが残っている可能性が高いため、避けたほうが良い。
メッセージ中のSCSIデバイスは取り外し中のため、I/Oリクエストを発行できない。
このメッセージは、キャッシュの同期が取れていない、あるいはリクエストキュー内にSCSIデバイスに発行するI/Oリクエストが残っているにも関わらず、以下の操作などを行い、当該SCSIデバイスの取り外しを始めたため、アクセスできなかった場合に出力される。このエラーが発生した場合、I/Oリクエストは取り消される。
(1) SCSIエミュレーションしているUSBデバイスを取り外す。
(2) SCSIデバイスのデバイスドライバをアンロードする。
(3) echo "scsi remove-single-device <h> <b> <t> <l>" > /proc/scsi/scsi(*1)を実行し、SCSIデバイスを取り外す。
- (*1)詳細は、The Linux 2.4 SCSI subsystem HOWTOを参照すること。
このメッセージはmid:14129と関連して表示される可能性が高い。SCSIデバイスを取り外す過程で、Linuxカーネルは該当SCSIデバイスの状態をcancel(SCSIデバイスの取り外しを始めた)からdeleted(SCSIデバイスは取り外された)に変更する。cancelの状態でI/Oリクエストが発行された場合は、このメッセージが出力され、deletedの状態で発行された場合は、mid:14129が出力される。