[Linux-cluster] GFS lock problem?
Lon Hohberger
lhh at redhat.com
Thu Jun 9 15:20:39 UTC 2005
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
More information about the Linux-cluster
mailing list