ocfs2: Break out stackglue into modules.
authorJoel Becker <joel.becker@oracle.com>
Fri, 1 Feb 2008 23:03:57 +0000 (15:03 -0800)
committerMark Fasheh <mfasheh@suse.com>
Fri, 18 Apr 2008 15:56:05 +0000 (08:56 -0700)
commit286eaa95c5c5915a6b72cc3f0a2534161fd7928b
treedce03b619389cc5b5e2508b30ca3e1411401cf4e
parente3dad42bf993a0f24eb6e46152356c9b119c15e8
ocfs2: Break out stackglue into modules.

We define the ocfs2_stack_plugin structure to represent a stack driver.
The o2cb stack code is split into stack_o2cb.c.  This becomes the
ocfs2_stack_o2cb.ko module.

The stackglue generic functions are similarly split into the
ocfs2_stackglue.ko module.  This module now provides an interface to
register drivers.  The ocfs2_stack_o2cb driver registers itself.  As
part of this interface, ocfs2_stackglue can load drivers on demand.
This is accomplished in ocfs2_cluster_connect().

ocfs2_cluster_disconnect() is now notified when a _hangup() is pending.
If a hangup is pending, it will not release the driver module and will
let _hangup() do that.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
fs/ocfs2/Makefile
fs/ocfs2/dlmglue.c
fs/ocfs2/dlmglue.h
fs/ocfs2/stack_o2cb.c
fs/ocfs2/stackglue.c
fs/ocfs2/stackglue.h
fs/ocfs2/super.c