[Ocfs2-devel] [PATCH 5/8] ocfs2: Handle non-const sb->s_export_op
Sunil Mushran
sunil.mushran at oracle.com
Tue Nov 10 17:38:27 PST 2009
Mainline commit 39655164405940d4818224a085e35420e2f97aed const-ified sb->s_export_op.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
---
Config.make.in | 1 +
configure.in | 5 +++++
fs/ocfs2/Makefile | 4 ++++
fs/ocfs2/export.c | 4 ++++
fs/ocfs2/export.h | 4 ++++
5 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/Config.make.in b/Config.make.in
index 9da1d2b..9d2feb2 100644
--- a/Config.make.in
+++ b/Config.make.in
@@ -66,6 +66,7 @@ SEQ_OPS_IS_NOT_CONST = @SEQ_OPS_IS_NOT_CONST@
IOP_IS_NOT_CONST = @IOP_IS_NOT_CONST@
DOP_IS_NOT_CONST = @DOP_IS_NOT_CONST@
SOP_IS_NOT_CONST = @SOP_IS_NOT_CONST@
+EXPORTOP_IS_NOT_CONST = @EXPORTOP_IS_NOT_CONST@
OCFS_DEBUG = @OCFS_DEBUG@
diff --git a/configure.in b/configure.in
index 76ea242..2ab0696 100644
--- a/configure.in
+++ b/configure.in
@@ -252,6 +252,11 @@ OCFS2_CHECK_KERNEL([sb->s_op has the const modifier in fs.h], fs.h,
, SOP_IS_NOT_CONST=yes, [^.*const struct super_operations.*\*s_op;])
AC_SUBST(SOP_IS_NOT_CONST)
+EXPORTOP_IS_NOT_CONST=
+OCFS2_CHECK_KERNEL([sb->s_export_op has the const modifier in fs.h], fs.h,
+ , EXPORTOP_IS_NOT_CONST=yes, [^.*const struct export_operations \*s_export_op;])
+AC_SUBST(EXPORTOP_IS_NOT_CONST)
+
# End kapi_compat checks
diff --git a/fs/ocfs2/Makefile b/fs/ocfs2/Makefile
index ddeb107..f39b1ee 100644
--- a/fs/ocfs2/Makefile
+++ b/fs/ocfs2/Makefile
@@ -72,6 +72,10 @@ ifdef SOP_IS_NOT_CONST
EXTRA_CFLAGS += -DSOP_IS_NOT_CONST
endif
+ifdef EXPORTOP_IS_NOT_CONST
+EXTRA_CFLAGS += -DEXPORTOP_IS_NOT_CONST
+endif
+
#
# Since SUBDIRS means something to kbuild, define them safely. Do not
# include trailing slashes.
diff --git a/fs/ocfs2/export.c b/fs/ocfs2/export.c
index 15713cb..fce7d23 100644
--- a/fs/ocfs2/export.c
+++ b/fs/ocfs2/export.c
@@ -275,7 +275,11 @@ static struct dentry *ocfs2_fh_to_parent(struct super_block *sb,
return ocfs2_get_dentry(sb, &parent);
}
+#ifdef EXPORTOP_IS_NOT_CONST
+struct export_operations ocfs2_export_ops = {
+#else
const struct export_operations ocfs2_export_ops = {
+#endif
.encode_fh = ocfs2_encode_fh,
.fh_to_dentry = ocfs2_fh_to_dentry,
.fh_to_parent = ocfs2_fh_to_parent,
diff --git a/fs/ocfs2/export.h b/fs/ocfs2/export.h
index 41a7386..0707bf3 100644
--- a/fs/ocfs2/export.h
+++ b/fs/ocfs2/export.h
@@ -28,6 +28,10 @@
#include <linux/exportfs.h>
+#ifdef EXPORTOP_IS_NOT_CONST
+extern struct export_operations ocfs2_export_ops;
+#else
extern const struct export_operations ocfs2_export_ops;
+#endif
#endif /* OCFS2_EXPORT_H */
--
1.5.6.5
More information about the Ocfs2-devel
mailing list