summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2011-02-10 16:16:52 -0800
committerBrian Behlendorf <[email protected]>2011-02-10 16:29:00 -0800
commit777d4af89137907adc91377327505f40c296035d (patch)
tree08dd869e748991b1a82b95c7044acc004d6dc6ad /include
parent1b94c25ceb12649b4b2ffb9a016e4f51cfa91736 (diff)
Linux 2.6.35 compat, const struct xattr_handler
The const keyword was added to the 'struct xattr_handler' in the generic Linux super_block structure. To handle this we define an appropriate xattr_handler_t typedef which can be used. This was the preferred solution because it keeps the code clean and readable.
Diffstat (limited to 'include')
-rw-r--r--include/Makefile.in1
-rw-r--r--include/linux/Makefile.am1
-rw-r--r--include/linux/Makefile.in2
-rw-r--r--include/linux/xattr_compat.h42
-rw-r--r--include/sys/Makefile.in1
-rw-r--r--include/sys/fm/Makefile.in1
-rw-r--r--include/sys/fm/fs/Makefile.in1
-rw-r--r--include/sys/fs/Makefile.in1
-rw-r--r--include/sys/zpl.h3
9 files changed, 52 insertions, 1 deletions
diff --git a/include/Makefile.in b/include/Makefile.in
index f87cd7929..8be6edc8a 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -59,6 +59,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
+ $(top_srcdir)/config/kernel-xattr-handler.m4 \
$(top_srcdir)/config/kernel.m4 \
$(top_srcdir)/config/user-arch.m4 \
$(top_srcdir)/config/user-frame-larger-than.m4 \
diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
index 4ccd7b124..67b56f83d 100644
--- a/include/linux/Makefile.am
+++ b/include/linux/Makefile.am
@@ -2,6 +2,7 @@ COMMON_H =
KERNEL_H = \
$(top_srcdir)/include/linux/dcache_compat.h
+ $(top_srcdir)/include/linux/xattr_compat.h
USER_H =
diff --git a/include/linux/Makefile.in b/include/linux/Makefile.in
index 51d0a6d5b..bd6db6f53 100644
--- a/include/linux/Makefile.in
+++ b/include/linux/Makefile.in
@@ -59,6 +59,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
+ $(top_srcdir)/config/kernel-xattr-handler.m4 \
$(top_srcdir)/config/kernel.m4 \
$(top_srcdir)/config/user-arch.m4 \
$(top_srcdir)/config/user-frame-larger-than.m4 \
@@ -562,6 +563,7 @@ uninstall-am: uninstall-kernelHEADERS uninstall-libzfsHEADERS
ps ps-am tags uninstall uninstall-am uninstall-kernelHEADERS \
uninstall-libzfsHEADERS
+ $(top_srcdir)/include/linux/xattr_compat.h
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/include/linux/xattr_compat.h b/include/linux/xattr_compat.h
new file mode 100644
index 000000000..dfa92acab
--- /dev/null
+++ b/include/linux/xattr_compat.h
@@ -0,0 +1,42 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (C) 2011 Lawrence Livermore National Security, LLC.
+ */
+
+#ifndef _ZFS_XATTR_H
+#define _ZFS_XATTR_H
+
+/*
+ * 2.6.35 API change,
+ * The const keyword was added to the 'struct xattr_handler' in the
+ * generic Linux super_block structure. To handle this we define an
+ * appropriate xattr_handler_t typedef which can be used. This was
+ * the preferred solution because it keeps the code clean and readable.
+ */
+#ifdef HAVE_CONST_XATTR_HANDLER
+typedef const struct xattr_handler xattr_handler_t;
+#else
+typedef struct xattr_handler xattr_handler_t;
+#endif
+
+#endif /* _ZFS_XATTR_H */
diff --git a/include/sys/Makefile.in b/include/sys/Makefile.in
index 1525d1d07..e95245f7e 100644
--- a/include/sys/Makefile.in
+++ b/include/sys/Makefile.in
@@ -59,6 +59,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
+ $(top_srcdir)/config/kernel-xattr-handler.m4 \
$(top_srcdir)/config/kernel.m4 \
$(top_srcdir)/config/user-arch.m4 \
$(top_srcdir)/config/user-frame-larger-than.m4 \
diff --git a/include/sys/fm/Makefile.in b/include/sys/fm/Makefile.in
index 4099398b3..fe92c17a0 100644
--- a/include/sys/fm/Makefile.in
+++ b/include/sys/fm/Makefile.in
@@ -59,6 +59,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
+ $(top_srcdir)/config/kernel-xattr-handler.m4 \
$(top_srcdir)/config/kernel.m4 \
$(top_srcdir)/config/user-arch.m4 \
$(top_srcdir)/config/user-frame-larger-than.m4 \
diff --git a/include/sys/fm/fs/Makefile.in b/include/sys/fm/fs/Makefile.in
index ddad52360..2e78a7645 100644
--- a/include/sys/fm/fs/Makefile.in
+++ b/include/sys/fm/fs/Makefile.in
@@ -59,6 +59,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
+ $(top_srcdir)/config/kernel-xattr-handler.m4 \
$(top_srcdir)/config/kernel.m4 \
$(top_srcdir)/config/user-arch.m4 \
$(top_srcdir)/config/user-frame-larger-than.m4 \
diff --git a/include/sys/fs/Makefile.in b/include/sys/fs/Makefile.in
index 903b08d37..968a9f27f 100644
--- a/include/sys/fs/Makefile.in
+++ b/include/sys/fs/Makefile.in
@@ -59,6 +59,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
+ $(top_srcdir)/config/kernel-xattr-handler.m4 \
$(top_srcdir)/config/kernel.m4 \
$(top_srcdir)/config/user-arch.m4 \
$(top_srcdir)/config/user-frame-larger-than.m4 \
diff --git a/include/sys/zpl.h b/include/sys/zpl.h
index 33f4f621f..b8c3d0985 100644
--- a/include/sys/zpl.h
+++ b/include/sys/zpl.h
@@ -26,6 +26,7 @@
#define _SYS_ZPL_H
#include <sys/vfs.h>
+#include <linux/xattr_compat.h>
/* zpl_inode.c */
extern const struct inode_operations zpl_inode_operations;
@@ -58,6 +59,6 @@ extern struct file_system_type zpl_fs_type;
extern ssize_t zpl_xattr_list(struct dentry *dentry, char *buf, size_t size);
extern int zpl_xattr_security_init(struct inode *ip, struct inode *dip);
-extern struct xattr_handler *zpl_xattr_handlers[];
+extern xattr_handler_t *zpl_xattr_handlers[];
#endif /* _SYS_ZPL_H */