--- Christine Caulfield <ccaulfie@xxxxxxxxxx> wrote: > Ja S wrote: > > --- Christine Caulfield <ccaulfie@xxxxxxxxxx> > wrote: > > > >> 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 > >> implementations. > >> > > > > I think I may be blind. I have not yet found a > > document which describes the sequence of processes > in > > a precise way. I tried to read the source code but > I > > gave up due to lack of comments. > > > > > >> 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. > > > > > > Thanks for the description. > > > > However, one point is still not clear to me is how > a > > node can conclude whether it __knows__ the lock > > resource or not? > > A node knows the resource if it has a local copy. > It's as simple as that. > If the node is a human and has a brain, it can "immediately" recall that it knows the lock resouce. However, for a computer program, it does not "know" anything until it search the target in what it has on hand. Therefore, the point here is the __search__. What should the node search and in which order, and how it searches? If I missed anything, please kindly point out so that I can clarify my question as clear as possible. Thanks again for your time and kind reply. Jas > > > -- > > Chrissie > > -- > Linux-cluster mailing list > Linux-cluster@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/linux-cluster > -- Linux-cluster mailing list Linux-cluster@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cluster