Hitachi Dynamic Link Manager Software ユーザーズガイド(HP-UX用)
HDLMがアプリケーションからIOCTLシステムコールを受けた場合の処理を,「表B-1 IOCTLコードおよび対応する処理」に示します。
表B-1 IOCTLコードおよび対応する処理
IOCTLコード 処理 SIOC_SET_IR 指定したHDLMデバイスのすべてのパスがOnline状態の場合に,すべてのパスに対してIOCTLを発行します※1。一つでもOffline状態のパスがある場合は,エラー終了します。このときのerrnoはENXIOとなります。
- IOCTLを発行した結果,パスの障害を検知した場合は,該当するパスはOffline(E)状態またはOnline(E)状態になります。
- IOCTLの発行がすべてのパスで正常終了した場合に,上位に正常終了を返します。失敗したパスが一つでもある場合は,その時点で上位にエラーを返します※2。
SIOC_SET_LUN_LIMITS※3
SIOC_SET_TGT_LIMITS
SIOC_SET_BUS_LIMITS
DIOC_SET_PFTIMEOUT指定したHDLMデバイスのパスの状態に関係なく,すべてのパスに対してIOCTLを発行します※1。
- IOCTLを発行した結果,Online状態のパスでパスの障害を検知した場合は,該当するパスはOffline(E)状態またはOnline(E)状態になります。
- IOCTLの発行がすべてのパスで正常終了した場合に,上位に正常終了を返します。失敗したパスが一つでもある場合は,その時点で上位にエラーを返します※2。
- Offline(E)状態,Online(E)状態またはOffline(C)状態のパスへのIOCTLの発行が成功しても,パスはOnline状態にはなりません。
上記以外 指定したHDLMデバイスのOnline状態の一つのパスに対してIOCTL要求を発行します。
- IOCTLを発行した結果,パスの障害を検知した場合は,該当するパスはOffline(E)状態またはOnline(E)状態になります。別のOnline状態のパスがある場合は,パスを変更して再発行(フェイルオーバ)します※1。
- IOCTLの発行が一つのパスで成功した時点で終了し,上位に正常終了を返します。
- IOCTLの発行がすべてのOnline状態のパスで失敗した場合,上位にエラーを返します。
- Online(E)状態のパスへのIOCTLの発行が成功しても,パスはOnline状態にはなりません。
- 注※1
- IOCTLは,オーナーパスに対して,パスIDの小さいパスから順に発行されます。すぺてのオーナーパスにIOCTLが発行されると,次にノンオーナーパスに対して,パスIDの小さいパスから順に発行されます。
- 注※2
- エラーが返された場合は,パスによって情報の不一致が発生することがあります。そのため,パスの障害が回復したあとに,再度IOCTLシステムコールを発行してください。
- 注※3
- HDLMデバイスまたはHDLMデバイスが管理するSCSIデバイスに対して,SIOC_SET_LUN_LIMITSを指定したIOCTLを発行した場合,syslogには次のwarningメッセージが出力されますが,設定は正常に行われます。
Oct dd hh:mm:ss host1 vmunix: warning: SIOC_SET_LUN_LIMITS: dec bc0a0000 node not foundSIOC_SET_IRを指定してIOCTL要求を行う場合は,IOCTLシステムコールを発行する前に,指定するHDLMデバイスのパスがOnline状態かどうか確認してください。パスに障害がある場合,syslogおよび障害ログにメッセージが出力され,エラー終了します。
次に示すIOCTLコード以外を指定してIOCTLシステムコールを発行する場合は,指定するHDLMデバイスのパスにOnline状態のパスが一つ以上あることを確認してください。
- SIOC_SET_IR
- SIOC_SET_LUN_LIMITS
- SIOC_SET_TGT_LIMITS
- SIOC_SET_BUS_LIMITS
- DIOC_SET_PFTIMEOUT
パスに障害が発生している場合は,アプリケーションにIOCTLシステムコールの失敗が返るまでの時間は,I/Oタイムアウト値に影響されません。
All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd.