GFS2: Merge lock_dlm module into GFS2
authorSteven Whitehouse <swhiteho@redhat.com>
Mon, 12 Jan 2009 10:43:39 +0000 (10:43 +0000)
committerSteven Whitehouse <steve@dolmen.chygwyn.com>
Tue, 24 Mar 2009 11:21:14 +0000 (11:21 +0000)
commitf057f6cdf64175db1151b1f5d110e29904f119a1
tree582dbf358e351f64977620c29ebf772d693b1948
parent22077f57dec8fcbeb1112b35313961c0902ff038
GFS2: Merge lock_dlm module into GFS2

This is the big patch that I've been working on for some time
now. There are many reasons for wanting to make this change
such as:
 o Reducing overhead by eliminating duplicated fields between structures
 o Simplifcation of the code (reduces the code size by a fair bit)
 o The locking interface is now the DLM interface itself as proposed
   some time ago.
 o Fewer lookups of glocks when processing replies from the DLM
 o Fewer memory allocations/deallocations for each glock
 o Scope to do further optimisations in the future (but this patch is
   more than big enough for now!)

Please note that (a) this patch relates to the lock_dlm module and
not the DLM itself, that is still a separate module; and (b) that
we retain the ability to build GFS2 as a standalone single node
filesystem with out requiring the DLM.

This patch needs a lot of testing, hence my keeping it I restarted
my -git tree after the last merge window. That way, this has the maximum
exposure before its merged. This is (modulo a few minor bug fixes) the
same patch that I've been posting on and off the the last three months
and its passed a number of different tests so far.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
42 files changed:
fs/gfs2/Kconfig
fs/gfs2/Makefile
fs/gfs2/acl.c
fs/gfs2/bmap.c
fs/gfs2/dir.c
fs/gfs2/eaops.c
fs/gfs2/eattr.c
fs/gfs2/glock.c
fs/gfs2/glock.h
fs/gfs2/glops.c
fs/gfs2/incore.h
fs/gfs2/inode.c
fs/gfs2/inode.h
fs/gfs2/lock_dlm.c [new file with mode: 0644]
fs/gfs2/locking.c [deleted file]
fs/gfs2/locking/dlm/Makefile [deleted file]
fs/gfs2/locking/dlm/lock.c [deleted file]
fs/gfs2/locking/dlm/lock_dlm.h [deleted file]
fs/gfs2/locking/dlm/main.c [deleted file]
fs/gfs2/locking/dlm/mount.c [deleted file]
fs/gfs2/locking/dlm/sysfs.c [deleted file]
fs/gfs2/locking/dlm/thread.c [deleted file]
fs/gfs2/log.c
fs/gfs2/lops.c
fs/gfs2/main.c
fs/gfs2/meta_io.c
fs/gfs2/mount.c
fs/gfs2/ops_address.c
fs/gfs2/ops_dentry.c
fs/gfs2/ops_export.c
fs/gfs2/ops_file.c
fs/gfs2/ops_fstype.c
fs/gfs2/ops_inode.c
fs/gfs2/ops_super.c
fs/gfs2/quota.c
fs/gfs2/recovery.c
fs/gfs2/rgrp.c
fs/gfs2/super.c
fs/gfs2/sys.c
fs/gfs2/trans.c
fs/gfs2/util.c
include/linux/lm_interface.h [deleted file]