Logical Domains Manager では、依存サイクルを作成するようなドメインの依存関係は作成できません。依存サイクルとは、スレーブドメインが自身に依存したり、マスタードメインがそのスレーブドメインのいずれかに依存したりすることになる、2 つ以上のドメイン間の関係です。
Logical Domains Manager は、依存関係を追加する前に、依存サイクルが存在するかどうかを確認します。Logical Domains Manager は、スレーブドメインから検索を開始し、マスターアレイによって指定されているすべてのパスに沿って、パスの最後に到達するまで検索を行います。途中で依存サイクルが見つかると、エラーとして報告されます。
次の例は、依存サイクルがどのように作成されるかを示します。最初のコマンドは、mohawk というスレーブドメインを作成します。このドメインは、マスタードメインに primary を指定します。その結果、mohawk は、次の図に示すような依存関係の連鎖で primary に依存します。
図 16-1 単一のドメインの依存関係
2 つめのコマンドは、primary というスレーブドメインを作成します。このドメインは、マスタードメインに counter を指定します。その結果、次の図に示すような依存関係の連鎖で、mohawk が primary に依存し、primary が counter に依存します。
図 16-2 複数のドメインの依存関係
3 つめのコマンドは、counter ドメインと mohawk ドメインとの間に依存関係の作成を試みます。これによって、次の図に示すような依存サイクルが生成されます。
図 16-3 ドメインの依存サイクル
次のエラーメッセージが表示されて ldm set-domain コマンドが失敗します。
# ldm add-domain master=primary mohawk # ldm set-domain master=counter primary # ldm set-domain master=mohawk counter Dependency cycle detected: LDom "counter" indicates "primary" as its master