[Linux-cluster] What is the order of processing a lock request?
ccaulfie at redhat.com
Tue May 13 07:06:57 UTC 2008
Ja S wrote:
> Hi, All:
> When an application on a cluster node A needs to
> access a file on a SAN storage, how DLM process the
> lock request?
> Should DLM firstly determine whether there already
> exists a lock resource mapped to the file, by doing
> the following things in the order 1) looking at the
> master lock resources on the node A, 2) searching the
> local copies of lock resources on the node A, 3)
> searching the lock directory on the node A to find out
> whether a master lock resource assosicated with the
> file exists on another node, 4) sending messages to
> other nodes in the cluster for the location of the
> master lock resource?
> I ask this question because from some online articles,
> it seems that DLM will always search the cluster-wide
> lock directory across the whole cluster first to find
> the location of the master lock resource.
> Can anyone kindly confirm the order of processes that
> DLM does?
This should be very well documented, as it's common amongst DLM
If a node needs to lock a resource that it doesn't know about then it
hashes the name to get a directory node ID, than asks that node for the
master node. if there is no master node (the resource is not active)
then the requesting node is made master
if the node does know the master, (other locks on the resource exist)
then it will go straight to that master node.
The node then asks the master for the lock.
The lock status (granted, waiting) is recorded in the local copy.
More information about the Linux-cluster