cc [flags…] –I /usr/cluster/include file –L /usr/cluster/lib –l dsdev#include <rgm/libdsdev.h> scha_err_t scds_hasp_check(scds_handle_t handle, scds_hasp_status_t *hasp_status);
scds_hasp_check()() 関数は、リソースによって使用される SUNW.HAStoragePlus リソースに関するステータス情報を取得します。この情報は、リソースの依存先であるすべての SUNW.HAStoragePlus リソースの状態(オンラインまたはその他) から取得されます。この状態は、リソースに対して定義されている Resource_dependencies、Resource_dependencies_weak、Resource_dependencies_restart、または Resource_dependencies_offline_restart プロパティーを使用して取得されます。
SUNW.HAStoragePlus リソースの FileSystemMountPoints プロパティーが空でないときは、FileSystemMountPoints プロパティーにリストされているすべてのファイルシステムが特定のノードに現在マウントされている場合に限り、scds_hasp_check()() 関数はそのリソースがそのノード上でオンラインであるとみなします。グローバルにマウントされているファイルシステムは、SUNW.HAStoragePlus リソースがオフラインのノードにマウントされる場合があります。SUNW.HAStoragePlus リソースが特定のノード上でオンラインであるとみなされるためには、FileSystemMountPoints のすべてが、ローカルにマウントされていてもグローバルにマウントされていても、そのノードにマウントされていなければなりません。このリソースの実際の状態は、オンラインまたはオフラインである可能性があります。これらのいずれかのファイルシステムがノードにマウントされていない場合、リソースはオフラインとみなされ、その実際の状態もオフラインになります。
リソースタイプ実装は、VALIDATE および MONITOR_CHECK メソッドコールバック実装の scds_hasp_check()() を使用して、SUNW.HAStoragePlus リソースによって管理されるファイルシステム固有の検査を実行する必要があるかどうかを確認します。
リソースの依存関係は、関数が実行されるのと同じクラスタコンテキスト (グローバルクラスタまたはゾーンクラスタ) 内でのみ確認されます。フォーム clustername: resourcename の依存関係 (クラスタ間依存関係) は無視されます。たとえば、HAStoragePlus 依存関係のみがクラスタ間依存関係である場合、この関数はステータスコード SCDS_HASP_NO_RESOURCE を返します。
関数が正常に実行されると、hasp_status パラメータにステータスコードが格納されます。格納されるコードは次のいずれかです。
リソースが SUNW.HAStoragePlus リソースに依存していないことを示しています。
リソースの依存先である SUNW.HAStoragePlus リソースが、潜在的なプライマリノードでオンラインでないことを示しています。
リソースの依存先である SUNW.HAStoragePlus リソースの少なくとも 1 つがこの関数の呼び出し元のノード上でオンラインではありませんが、別のノード上ではオンラインであることを示しています。
リソースの依存先である SUNW.HAStoragePlus リソースがすべて、この関数の呼び出し元のノード上でオンラインであることを示しています。
scds_hasp_check()() 関数は、GlobalDevicePaths プロパティーが空でなくても、FilesystemMountPoints プロパティーと Zpools プロパティーの両方がデフォルトで空のリストに設定されている SUNW.HAStoragePlus リソースを無視します。
次のパラメータがサポートされます。
scds_initialize から返されるハンドルです。
リソースによって使用される SUNW.HAStoragePlus リソースのステータスです。
関数の実行に成功。
この値はまた、hasp_status パラメータに格納されているステータスコードが有効であることも示します。
関数の実行に失敗。
hasp_status パラメータに格納されている値が未定義です。この未定義の値は無視してください。
その他のエラーコードについては、scha_calls(3HA) のマニュアルページを参照してください。
インクルードファイル
ライブラリ
次の属性については、attributes(5) を参照してください。
|
scds_initialize(3HA), scha_calls(3HA), attributes(5), SUNW.HAStoragePlus(5)