aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
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/linux
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/linux')
-rw-r--r--include/linux/Makefile.am1
-rw-r--r--include/linux/Makefile.in2
-rw-r--r--include/linux/xattr_compat.h42
3 files changed, 45 insertions, 0 deletions
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 */