[Next Chapter] [Index] [Help]

Contents

Title and Copyright Information

About This Manual
Audience
Organization
Related Documents
Reader's Comments
Conventions

1    Distributed Lock Manager
1.1    Overview
1.2    Resources
1.2.1    Resource Granularity
1.2.2    Namespaces
1.2.3    Uniquely Identifying Resources
1.3    Using Locks
1.3.1    Lock Modes
1.3.2    Levels of Locking and Compatibility
1.3.3    Lock Management Queues
1.3.4    Lock Conversions
1.3.5    Deadlock Detection
1.4    Dequeuing Locks
1.4.1    Canceling a Conversion Request
1.5    Advanced Locking Techniques
1.5.1    Asynchronous Completion of a Lock Request
1.5.2    Notification of Synchronous Completion
1.5.3    Blocking Notifications
1.5.4    Lock Conversions
1.5.4.1    Queuing Lock Conversions
1.5.4.2    Forced Queuing of Conversions
1.5.5    Parent Locks
1.5.6    Lock Value Blocks
1.6    Local Buffer Caching Using DLM Functions
1.6.1    Using the Lock Value Block
1.6.2    Using Blocking Notifications
1.6.2.1    Deferring Buffer Writes
1.6.2.2    Buffer Caching
1.6.3    Choosing a Buffer Caching Technique
1.7    Distributed Lock Manager Functions Code Example

2    Cluster Information Services
2.1    Overview
2.2    Using the TruCluster Production Server Information Services

Examples

1-1    Locking, Lock Value Blocks, and Lock Conversion
2-1    Using the clu_get_cluster and clu_get_qdisk Functions
2-2    Obtaining Information from Cluster Member Systems

Figures

1-1    Model Database
1-2    Three Lock Queues
1-3    Conversion Deadlock
1-4    Multiple Resource Deadlock

Tables

1-1    Distributed Lock Manager Functions
1-2    Lock Modes
1-3    Compatibility of Lock Modes
1-4    Using the DLM_DEQALL Flag in a dlm_unlock Function Call
1-5    Conversions Allowed When the DLM_QUECVT Flag Is Specified
1-6    Effect of Lock Conversion on Lock Value Block
2-1    Cluster Information Services


[Contents] [Preface] [Index] [Help]