linux/fs/ocfs2/dlm
Joel Becker 65b6f34034 ocfs2_dlmfs: Use poll() to signify BASTs.
o2dlm's userspace filesystem is an easy way to use the DLM from
userspace.  It is intentionally simple. For example, it does not allow
for asynchronous behavior or lock conversion.  This is intentional to
keep the interface simple.

Because there is no asynchronous notification, there is no way for a
process holding a lock to know another node needs the lock.  This is the
number one complaint of ocfs2_dlmfs users.  Turns out, we can solve this
very easily.  We add poll() support to ocfs2_dlmfs.  When a BAST is
received, the lock's file descriptor will receive POLLIN.

This is trivial to implement.  Userdlm already has an appropriate
waitqueue, and the lock knows when it is blocked.

We add the "bast" capability to tell userspace this is available.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Acked-by: Mark Fasheh <mfasheh@suse.com>

Signed-off-by: Joel Becker <joel.becker@oracle.com>
2010-02-26 15:41:14 -08:00
..
dlmapi.h ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmast.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmcommon.h ocfs2/dlm: Remove struct dlm_lock_name in struct dlm_master_list_entry 2009-04-03 11:39:23 -07:00
dlmconvert.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmconvert.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
dlmdebug.c ocfs2/dlm: Fix printing of lockname 2010-02-08 13:01:31 -08:00
dlmdebug.h [PATCH 2/3] ocfs2/dlm: Silence build warnings 2008-05-30 15:15:10 -07:00
dlmdomain.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmdomain.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
dlmfs.c ocfs2_dlmfs: Use poll() to signify BASTs. 2010-02-26 15:41:14 -08:00
dlmfsver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
dlmfsver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
dlmlock.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmmaster.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmrecovery.c ocfs2/dlm: Remove BUG_ON in dlm recovery when freeing locks of a dead node 2010-02-03 17:51:41 -08:00
dlmthread.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
dlmunlock.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
dlmver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
Makefile ocfs2: Only build ocfs2/dlm with the o2cb stack module 2008-04-18 08:56:12 -07:00
userdlm.c ocfs2: Negotiate locking protocol versions. 2008-02-06 16:11:29 -08:00
userdlm.h ocfs2: comments typo fix 2008-12-01 14:46:31 -08:00