Skip to contentSkip to conversation

GFS: lock_dlm module

PATCH In review David Teigland 1 participant 1 message Oct 10, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 16/16 GFS: lock_dlm module

The lock_dlm module uses the DLM in linux/drivers/dlm/ for inter-node locking.

---

 fs/gfs2/locking/dlm/Makefile   |    3 
 fs/gfs2/locking/dlm/lock.c     |  537 +++++++++++++++++++++++++++++++++++++++++
 fs/gfs2/locking/dlm/lock_dlm.h |  194 ++++++++++++++
 fs/gfs2/locking/dlm/main.c     |   62 ++++
 fs/gfs2/locking/dlm/mount.c    |  216 ++++++++++++++++
 fs/gfs2/locking/dlm/plock.c    |  296 ++++++++++++++++++++++
 fs/gfs2/locking/dlm/sysfs.c    |  297 ++++++++++++++++++++++
 fs/gfs2/locking/dlm/thread.c   |  352 ++++++++++++++++++++++++++
 include/linux/lock_dlm_plock.h |   40 +++
 9 files changed, 1997 insertions(+)
fs/gfs2/locking/dlm/Makefile +3 -0
diff -urpN a/fs/gfs2/locking/dlm/Makefile b/fs/gfs2/locking/dlm/Makefile
@@ -0,0 +1,3 @@
+obj-$(CONFIG_GFS2_FS) += lock_dlm.o
+lock_dlm-y := lock.o main.o mount.o sysfs.o thread.o plock.o
+
fs/gfs2/locking/dlm/lock.c +537 -0

537 lines not on this page · raw message

fs/gfs2/locking/dlm/lock_dlm.h +194 -0

194 lines not on this page · raw message

fs/gfs2/locking/dlm/main.c +62 -0

62 lines not on this page · raw message

fs/gfs2/locking/dlm/mount.c +216 -0

216 lines not on this page · raw message

fs/gfs2/locking/dlm/plock.c +296 -0

296 lines not on this page · raw message

fs/gfs2/locking/dlm/sysfs.c +297 -0

297 lines not on this page · raw message

fs/gfs2/locking/dlm/thread.c +352 -0

352 lines not on this page · raw message

include/linux/lock_dlm_plock.h +40 -0
diff -urpN a/include/linux/lock_dlm_plock.h b/include/linux/lock_dlm_plock.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2005 Red Hat, Inc.  All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License v.2.
+ */
+
+#ifndef __LOCK_DLM_PLOCK_DOT_H__
+#define __LOCK_DLM_PLOCK_DOT_H__
+
+#define GDLM_PLOCK_MISC_NAME		"lock_dlm_plock"
+
+#define GDLM_PLOCK_VERSION_MAJOR	1
+#define GDLM_PLOCK_VERSION_MINOR	0
+#define GDLM_PLOCK_VERSION_PATCH	0
+
+enum {
+	GDLM_PLOCK_OP_LOCK = 1,
+	GDLM_PLOCK_OP_UNLOCK,
+	GDLM_PLOCK_OP_GET,
+};
+
+struct gdlm_plock_info {
+	__u32 version[3];
+	__u8 optype;
+	__u8 ex;
+	__u8 wait;
+	__u8 pad;
+	__u32 pid;
+	__s32 nodeid;
+	__s32 rv;
+	__u32 fsid;
+	__u64 number;
+	__u64 start;
+	__u64 end;
+};
+
+#endif
+