Hitachi Dynamic Link Manager Software ユーザーズガイド(HP-UX用)

[目次][用語][索引][前へ][次へ]


付録B IOCTLシステムコール

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 found
 

SIOC_SET_IRを指定してIOCTL要求を行う場合は,IOCTLシステムコールを発行する前に,指定するHDLMデバイスのパスがOnline状態かどうか確認してください。パスに障害がある場合,syslogおよび障害ログにメッセージが出力され,エラー終了します。

次に示すIOCTLコード以外を指定してIOCTLシステムコールを発行する場合は,指定するHDLMデバイスのパスにOnline状態のパスが一つ以上あることを確認してください。

パスに障害が発生している場合は,アプリケーションにIOCTLシステムコールの失敗が返るまでの時間は,I/Oタイムアウト値に影響されません。

[目次][前へ][次へ]


[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd.