On Thu, 2005-06-09 at 11:20 -0400, Lon Hohberger wrote: > On Thu, 2005-06-09 at 08:14 -0500, Michael Conrad Tadpol Tilstra wrote: > > On Wed, Jun 08, 2005 at 10:52:46PM -0500, Andrew C. Dingman wrote: > > > Wouldn't each lock in GFS be used to impliment some sort of > > > filesystem-level lock, such as an fcntl() or flock(), which would in > > > turn belong to a process? > > > > Your question isn't parsing, but I'll try to answer anyways. > > > > flock and fcntl locks can be implemented. (and have been.) However they, > > by themselves, are insuficent for creating a clustered filesystem. But > > since those are advisory locks, they might exist, and even then they can > > be ignored. So there might be some in the lock space, but there will > > mostly be gfs locks. > > Adding some thoughts: > > Locks used by GFS are primarily used for meta-data synchronization and > are transparently taken and released to most processes. > > Of course, if a process takes a lock on a file on a GFS mount, the lock > is an advisory lock -- but can be seen by other processes (and other > nodes). > > So, you can implement synchronization across multiple processes on > different nodes on a GFS mount using fcntl() in the same way you can > implement synchronization across multiple processes on a single node (on > any file system). > > However -- I don't know if there's a way to tell which process on which > node has which fcntl()-taken lock. (If there is, I'm pretty sure you > can not do it using standard POSIX calls...) > > -- Lon Thanks. That at least clarifies my thinking about how this stuff works a bit, even if it's a bit disappointing. -- Linux-cluster@xxxxxxxxxx http://www.redhat.com/mailman/listinfo/linux-cluster