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 -- Linux-cluster@xxxxxxxxxx http://www.redhat.com/mailman/listinfo/linux-cluster