[Ocfs2-devel] [PATCH 08/18] ocfs2: Handle missing mutex in struct configfs_subsystem
Sunil Mushran
sunil.mushran at oracle.com
Thu Nov 12 17:47:29 PST 2009
Mainline commit e6bd07aee739566803425acdbf5cdb29919164e1 changed a semaphore (su_sem)
into a mutex (su_mutex) in struct configfs_subsystem. Patch adds macros to allow
building with EL5.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
---
Makefile | 3 ++-
configure.in | 5 +++++
fs/ocfs2/cluster/kapi-default.h | 5 +++++
fs/ocfs2/cluster/nodemanager.c | 2 +-
kapi-compat/include/su_mutex.h | 9 +++++++++
5 files changed, 22 insertions(+), 2 deletions(-)
create mode 100644 kapi-compat/include/su_mutex.h
diff --git a/Makefile b/Makefile
index 00535ff..623bda4 100644
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,8 @@ KAPI_COMPAT_FILES = \
kapi-compat/include/slab.h \
kapi-compat/include/blkdev_put.h \
kapi-compat/include/blkdev_get.h \
- kapi-compat/include/configfs.h
+ kapi-compat/include/configfs.h \
+ kapi-compat/include/su_mutex.h
PATCH_FILES =
diff --git a/configure.in b/configure.in
index aad0ea1..af32060 100644
--- a/configure.in
+++ b/configure.in
@@ -354,6 +354,11 @@ OCFS2_CHECK_KERNEL([configfs_depend_item() in configfs.h], configfs.h,
, configfs_compat_header=configfs.h, [^int configfs_depend_item(])
KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS $configfs_compat_header"
+su_mutex_header=
+OCFS2_CHECK_KERNEL([su_mutex in struct configfs_subsystem in configfs.h], configfs.h,
+ , su_mutex_header=su_mutex.h, [struct mutex su_mutex;])
+KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS $su_mutex_header"
+
# End kapi_compat checks
# using -include has two advantages:
diff --git a/fs/ocfs2/cluster/kapi-default.h b/fs/ocfs2/cluster/kapi-default.h
index fc3da05..81dce2f 100644
--- a/fs/ocfs2/cluster/kapi-default.h
+++ b/fs/ocfs2/cluster/kapi-default.h
@@ -37,4 +37,9 @@ typedef struct work_struct kapi_work_struct_t;
# define kapi_blkdev_get blkdev_get
#endif
+#ifndef kapi_mutex_init
+# define kapi_mutex_init mutex_init
+# define su_mutex su_mutex
+#endif
+
#endif
diff --git a/fs/ocfs2/cluster/nodemanager.c b/fs/ocfs2/cluster/nodemanager.c
index 7ee6188..31140df 100644
--- a/fs/ocfs2/cluster/nodemanager.c
+++ b/fs/ocfs2/cluster/nodemanager.c
@@ -903,7 +903,7 @@ static int __init init_o2nm(void)
goto out_o2net;
config_group_init(&o2nm_cluster_group.cs_subsys.su_group);
- mutex_init(&o2nm_cluster_group.cs_subsys.su_mutex);
+ kapi_mutex_init(&o2nm_cluster_group.cs_subsys.su_mutex);
ret = configfs_register_subsystem(&o2nm_cluster_group.cs_subsys);
if (ret) {
printk(KERN_ERR "nodemanager: Registration returned %d\n", ret);
diff --git a/kapi-compat/include/su_mutex.h b/kapi-compat/include/su_mutex.h
new file mode 100644
index 0000000..6713348
--- /dev/null
+++ b/kapi-compat/include/su_mutex.h
@@ -0,0 +1,9 @@
+#ifndef KAPI_SUMUTEX_H
+#define KAPI_SUMUTEX_H
+
+#include "asm/semaphore.h"
+
+#define kapi_mutex_init init_MUTEX
+#define su_mutex su_sem
+
+#endif
--
1.5.6.5
More information about the Ocfs2-devel
mailing list