[Linux-cluster] GFS lock problem?

Andrew C. Dingman adingman at cookgroup.com
Thu Jun 9 15:37:02 UTC 2005


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.




More information about the Linux-cluster mailing list