From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 16EB71381F3 for ; Tue, 7 May 2013 18:45:13 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CCC1CE07A0; Tue, 7 May 2013 18:45:09 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 2A068E07A0 for ; Tue, 7 May 2013 18:45:09 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id DE63733DD01 for ; Tue, 7 May 2013 18:45:07 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 7D2D0E4E07 for ; Tue, 7 May 2013 18:45:06 +0000 (UTC) From: "Alexey Shvetsov" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alexey Shvetsov" Message-ID: <1367952284.08d6e42aff4ce369e53ab99f4331f0e88b7ad118.alexxy@gentoo> Subject: [gentoo-commits] proj/sci:master commit in: sys-cluster/lustre/, sys-cluster/lustre/files/ X-VCS-Repository: proj/sci X-VCS-Files: sys-cluster/lustre/ChangeLog sys-cluster/lustre/files/0001-LU-1812-kernel-3.7-FC18-server-patches.patch sys-cluster/lustre/files/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch sys-cluster/lustre/files/0003-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch sys-cluster/lustre/files/0004-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch sys-cluster/lustre/files/0005-LU-2800-llite-introduce-local-getname.patch sys-cluster/lustre/files/0006-LU-2987-llite-rcu-free-inode.patch sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch sys-cluster/lustre/files/0008-LU-2850-kernel-3.8-upstream-kills-daemonize.patch sys-cluster/lustre/files/0009-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch sys-cluster/lustre/files/0009-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch sys-cluster/lustre/files/0010-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch sys-cluster/lustre/files/0010-LU-3079-kernel-3.9-hlist_ for_each_entry-uses-3-args.patch sys-cluster/lustre/files/0011-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch sys-cluster/lustre/files/0011-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch sys-cluster/lustre/files/0012-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch sys-cluster/lustre/files/0012-LU-3179-build-fix-compilation-error-with-gcc-4.7.2.patch sys-cluster/lustre/lustre-9999.ebuild X-VCS-Directories: sys-cluster/lustre/ sys-cluster/lustre/files/ X-VCS-Committer: alexxy X-VCS-Committer-Name: Alexey Shvetsov X-VCS-Revision: 08d6e42aff4ce369e53ab99f4331f0e88b7ad118 X-VCS-Branch: master Date: Tue, 7 May 2013 18:45:06 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 2d198a5f-0b39-4194-98ea-1f58d9dd46a7 X-Archives-Hash: 2495bbeb4429fc794e4d1659697f1e45 commit: 08d6e42aff4ce369e53ab99f4331f0e88b7ad118 Author: Alexey Shvetsov gentoo org> AuthorDate: Tue May 7 18:44:44 2013 +0000 Commit: Alexey Shvetsov gentoo org> CommitDate: Tue May 7 18:44:44 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=08d6e42a Update lustre patches. zfs patches was merged Package-Manager: portage-2.2.0_alpha174 RepoMan-Options: --force --- sys-cluster/lustre/ChangeLog | 20 + ...01-LU-1812-kernel-3.7-FC18-server-patches.patch | 2 +- ...nel-sock_map_fd-replaced-by-sock_alloc_fi.patch | 2 +- ...6-kernel-Kernel-update-for-3.7.2-201.fc18.patch | 16 +- ...pat-posix_acl_-to-from-_xattr-take-user_n.patch | 2 +- ...005-LU-2800-llite-introduce-local-getname.patch | 2 +- .../files/0006-LU-2987-llite-rcu-free-inode.patch | 2 +- ...50-kernel-3.8-upstream-removes-vmtruncate.patch | 2 +- ...-2850-kernel-3.8-upstream-kills-daemonize.patch | 2 +- ...d-make-AC-check-for-linux-arch-sandbox-f.patch} | 10 +- ...7-build-zfs-0.6.1-kmod-dkms-compatibility.patch | 1121 -------------------- ...nel-3.9-hlist_for_each_entry-uses-3-args.patch} | 4 +- ...9-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch} | 4 +- ...uild-fix-compilation-error-with-gcc-4.7.2.patch | 43 + sys-cluster/lustre/lustre-9999.ebuild | 8 +- 15 files changed, 91 insertions(+), 1149 deletions(-) diff --git a/sys-cluster/lustre/ChangeLog b/sys-cluster/lustre/ChangeLog index 67fe3ae..9f26c4b 100644 --- a/sys-cluster/lustre/ChangeLog +++ b/sys-cluster/lustre/ChangeLog @@ -2,6 +2,26 @@ # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 07 May 2013; Alexey Shvetsov + +files/0009-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch, + +files/0010-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch, + +files/0011-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch, + +files/0012-LU-3179-build-fix-compilation-error-with-gcc-4.7.2.patch, + -files/0009-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch, + -files/0010-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch, + -files/0011-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch, + -files/0012-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch, + files/0001-LU-1812-kernel-3.7-FC18-server-patches.patch, + files/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch, + files/0003-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch, + files/0004-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch, + files/0005-LU-2800-llite-introduce-local-getname.patch, + files/0006-LU-2987-llite-rcu-free-inode.patch, + files/0007-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch, + files/0008-LU-2850-kernel-3.8-upstream-kills-daemonize.patch, + lustre-9999.ebuild: + Update lustre patches. zfs patches was merged + 07 May 2013; Alexey Shvetsov lustre-9999.ebuild: Fix quotation issues with server diff --git a/sys-cluster/lustre/files/0001-LU-1812-kernel-3.7-FC18-server-patches.patch b/sys-cluster/lustre/files/0001-LU-1812-kernel-3.7-FC18-server-patches.patch index dc7f5aa..f773a7b 100644 --- a/sys-cluster/lustre/files/0001-LU-1812-kernel-3.7-FC18-server-patches.patch +++ b/sys-cluster/lustre/files/0001-LU-1812-kernel-3.7-FC18-server-patches.patch @@ -1,4 +1,4 @@ -From 65c212c034f632513cd0e4afe6830698b8450e27 Mon Sep 17 00:00:00 2001 +From 91315157587f3392b6cf43ea286b0f3ce1e7f94f Mon Sep 17 00:00:00 2001 From: James Simmons Date: Thu, 2 May 2013 07:54:50 -0400 Subject: [PATCH 01/12] LU-1812 kernel: 3.7/FC18 server patches diff --git a/sys-cluster/lustre/files/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch b/sys-cluster/lustre/files/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch index ea382a8..7d24cf8 100644 --- a/sys-cluster/lustre/files/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch +++ b/sys-cluster/lustre/files/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch @@ -1,4 +1,4 @@ -From 9798799dc437a49e099ee3e2a4056dbab29f7664 Mon Sep 17 00:00:00 2001 +From c81da9c214f1b32aa9657df42288a9c25e63c434 Mon Sep 17 00:00:00 2001 From: yangsheng Date: Mon, 8 Apr 2013 21:14:09 +0800 Subject: [PATCH 02/12] LU-2686 kernel: sock_map_fd() replaced by diff --git a/sys-cluster/lustre/files/0003-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch b/sys-cluster/lustre/files/0003-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch index b9e3865..95ef999 100644 --- a/sys-cluster/lustre/files/0003-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch +++ b/sys-cluster/lustre/files/0003-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch @@ -1,4 +1,4 @@ -From eb644ae44a7a7c1884ff9bb8b384730cedc17175 Mon Sep 17 00:00:00 2001 +From 025fda5f3a44942e7c87f180fc7275529e5405fa Mon Sep 17 00:00:00 2001 From: yangsheng Date: Mon, 8 Apr 2013 21:04:22 +0800 Subject: [PATCH 03/12] LU-2686 kernel: Kernel update for 3.7.2-201.fc18 @@ -16,20 +16,20 @@ Change-Id: Id90e091fef63ebf5bb8e7765969aa3148cc31aa2 5 files changed, 32 insertions(+), 18 deletions(-) diff --git a/autoMakefile.am b/autoMakefile.am -index 79bcd65..bfec407 100644 +index 1cc3b48..7b8a096 100644 --- a/autoMakefile.am +++ b/autoMakefile.am @@ -84,7 +84,7 @@ all-am: modules modules: $(DEP) all-sources - $(MAKE) CC="$(CC)" -C $(LINUX_OBJ) \ + $(MAKE) CC="$(CC)" $(CROSS_VARS) -C $(LINUX_OBJ) \ -f $(PWD)/build/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) \ -- LINUXINCLUDE='$(EXTRA_LNET_INCLUDE) -I$$(srctree)/arch/$$(SRCARCH)/include -I$$(srctree)/arch/$$(SRCARCH)/include/generated -Iinclude $$(if $$(KBUILD_SRC),-Iinclude2 -I$$(srctree)/include) -include $(CONFIG_INCLUDE)' \ +- LINUXINCLUDE='$(EXTRA_LNET_INCLUDE) -I$$(srctree)/arch/$$(SRCARCH)/include -I$$(srctree)/arch/$$(SRCARCH)/include/generated -Iinclude $$(if $$(KBUILD_SRC),-Iinclude2 -I$$(srctree)/include) -include $(CONFIG_INCLUDE)' \ + LINUXINCLUDE='$(EXTRA_LNET_INCLUDE) -I$$(srctree)/arch/$$(SRCARCH)/include -I$$(srctree)/arch/$$(SRCARCH)/include/generated -Iinclude $$(if $$(KBUILD_SRC),-Iinclude2 -I$$(srctree)/include) -I$$(srctree)/arch/$$(SRCARCH)/include/uapi -Iarch/$$(SRCARCH)/include/generated/uapi -I$$(srctree)/include/uapi -Iinclude/generated/uapi -include $(CONFIG_INCLUDE)' \ $(MODULE_TARGET)=$(PWD) -o tmp_include_depends -o scripts -o \ include/config/MARKER $@ endif # LINUX diff --git a/config/lustre-build-linux.m4 b/config/lustre-build-linux.m4 -index ec77262..fe4f4da 100644 +index b08ae65..a78bfe3 100644 --- a/config/lustre-build-linux.m4 +++ b/config/lustre-build-linux.m4 @@ -44,7 +44,7 @@ AC_MSG_CHECKING([for Linux release]) @@ -85,13 +85,13 @@ index ec77262..fe4f4da 100644 # This is a clean kernel-source tree, we need to # enable extensive workarounds to get this to build # modules -@@ -312,7 +316,8 @@ $2 +@@ -344,7 +348,8 @@ $2 AC_DEFUN([LB_LINUX_COMPILE_IFELSE], [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl rm -f build/conftest.o build/conftest.mod.c build/conftest.ko --AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_LNET_INCLUDE -I$LINUX/arch/`echo $target_cpu|sed -e 's/powerpc64/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include -I$LINUX/arch/`echo $target_cpu|sed -e 's/ppc.*/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include/generated -I$LINUX_OBJ/include -I$LINUX/include -I$LINUX_OBJ/include2 -include $CONFIG_INCLUDE" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])], +-AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_LNET_INCLUDE -I$LINUX/arch/`echo $target_cpu|sed -e 's/powerpc64/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include -I$LINUX/arch/`echo $target_cpu|sed -e 's/ppc.*/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include/generated -I$LINUX_OBJ/include -I$LINUX/include -I$LINUX_OBJ/include2 -include $CONFIG_INCLUDE" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $CROSS_VARS $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])], +SUBARCH=$(echo $target_cpu | sed -e 's/powerpc64/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/') -+AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_LNET_INCLUDE -I$LINUX/arch/$SUBARCH/include -I$LINUX/arch/$SUBARCH/include/generated -Iinclude -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -I$LINUX/include/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi -include $CONFIG_INCLUDE" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])], ++AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_LNET_INCLUDE -I$LINUX/arch/$SUBARCH/include -I$LINUX/arch/$SUBARCH/include/generated -Iinclude -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -I$LINUX/include/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi -include $CONFIG_INCLUDE" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $CROSS_VARS $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])], [$4], [_AC_MSG_LOG_CONFTEST m4_ifvaln([$5],[$5])dnl]) diff --git a/sys-cluster/lustre/files/0004-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch b/sys-cluster/lustre/files/0004-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch index 9255c65..04bac71 100644 --- a/sys-cluster/lustre/files/0004-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch +++ b/sys-cluster/lustre/files/0004-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch @@ -1,4 +1,4 @@ -From 1f4b6325b84ae71aca272904452c7751c84e1870 Mon Sep 17 00:00:00 2001 +From ceccbd0ba0715d45702d26f3a459435906b9dbf2 Mon Sep 17 00:00:00 2001 From: Jeff Mahoney Date: Wed, 20 Mar 2013 17:33:17 -0400 Subject: [PATCH 04/12] LU-2850 compat: posix_acl_{to,from}_xattr take diff --git a/sys-cluster/lustre/files/0005-LU-2800-llite-introduce-local-getname.patch b/sys-cluster/lustre/files/0005-LU-2800-llite-introduce-local-getname.patch index c66cea0..9dfae36 100644 --- a/sys-cluster/lustre/files/0005-LU-2800-llite-introduce-local-getname.patch +++ b/sys-cluster/lustre/files/0005-LU-2800-llite-introduce-local-getname.patch @@ -1,4 +1,4 @@ -From 385173f27cbda04a7fef76ee37e20b8cbd810036 Mon Sep 17 00:00:00 2001 +From 9248d7b04b67f683ac2a04b35793790047b50ab7 Mon Sep 17 00:00:00 2001 From: Jeff Mahoney Date: Tue, 19 Mar 2013 21:18:32 -0400 Subject: [PATCH 05/12] LU-2800 llite: introduce local getname() diff --git a/sys-cluster/lustre/files/0006-LU-2987-llite-rcu-free-inode.patch b/sys-cluster/lustre/files/0006-LU-2987-llite-rcu-free-inode.patch index 7899dec..f55f693 100644 --- a/sys-cluster/lustre/files/0006-LU-2987-llite-rcu-free-inode.patch +++ b/sys-cluster/lustre/files/0006-LU-2987-llite-rcu-free-inode.patch @@ -1,4 +1,4 @@ -From 8b87cde85f26ebf1a3607db89b406681b1e66721 Mon Sep 17 00:00:00 2001 +From fe7ac0140ddb8fe5b8b046d857ed018ac9dc6335 Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Tue, 19 Mar 2013 14:04:47 +0800 Subject: [PATCH 06/12] LU-2987 llite: rcu-free inode diff --git a/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch b/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch index 487e6bf..4ce5b1f 100644 --- a/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch +++ b/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch @@ -1,4 +1,4 @@ -From ca0935ac2c329ceab8e52681e688947b44a06f25 Mon Sep 17 00:00:00 2001 +From 019311dd1ae9e97336748f016afd2581d8ecc213 Mon Sep 17 00:00:00 2001 From: Alexey Shvetsov Date: Wed, 17 Apr 2013 13:27:55 +0400 Subject: [PATCH 07/12] LU-2850 kernel: 3.8 upstream removes vmtruncate() diff --git a/sys-cluster/lustre/files/0008-LU-2850-kernel-3.8-upstream-kills-daemonize.patch b/sys-cluster/lustre/files/0008-LU-2850-kernel-3.8-upstream-kills-daemonize.patch index 7c43e97..3094ef4 100644 --- a/sys-cluster/lustre/files/0008-LU-2850-kernel-3.8-upstream-kills-daemonize.patch +++ b/sys-cluster/lustre/files/0008-LU-2850-kernel-3.8-upstream-kills-daemonize.patch @@ -1,4 +1,4 @@ -From 6788eaaadcd9e1cc48f991c4d120cf0665bf02bf Mon Sep 17 00:00:00 2001 +From 3440a08d1e950bddff32304ea1ba919d63ae47be Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Tue, 23 Apr 2013 10:18:04 -0400 Subject: [PATCH 08/12] LU-2850 kernel: 3.8 upstream kills daemonize() diff --git a/sys-cluster/lustre/files/0010-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch b/sys-cluster/lustre/files/0009-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch similarity index 91% rename from sys-cluster/lustre/files/0010-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch rename to sys-cluster/lustre/files/0009-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch index 6b02321..dbfda90 100644 --- a/sys-cluster/lustre/files/0010-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch +++ b/sys-cluster/lustre/files/0009-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch @@ -1,7 +1,7 @@ -From 9988e7ade168cf979b02e0cd840cf86b0e696666 Mon Sep 17 00:00:00 2001 +From a48ffc03f6d9630e66720089ed01c9f4f1ec10fc Mon Sep 17 00:00:00 2001 From: Alexey Shvetsov Date: Mon, 18 Mar 2013 16:22:27 +0400 -Subject: [PATCH 10/12] LU-2982 build: make AC check for linux arch sandbox +Subject: [PATCH 09/12] LU-2982 build: make AC check for linux arch sandbox friendly this commit makes AC check for linux kernel arch sandbox friendly @@ -14,17 +14,17 @@ Signed-off-by: Alexey Shvetsov 1 file changed, 58 insertions(+), 8 deletions(-) diff --git a/config/lustre-build-linux.m4 b/config/lustre-build-linux.m4 -index fe4f4da..0ab7cdb 100644 +index a78bfe3..d8451e0 100644 --- a/config/lustre-build-linux.m4 +++ b/config/lustre-build-linux.m4 -@@ -330,14 +330,64 @@ rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest. +@@ -362,14 +362,64 @@ rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest. # Determine the kernel's idea of the current architecture # AC_DEFUN([LB_LINUX_ARCH], - [AC_MSG_CHECKING([Linux kernel architecture]) - AS_IF([rm -f $PWD/build/arch - make -s --no-print-directory echoarch -f $PWD/build/Makefile \ -- LUSTRE_LINUX_CONFIG=$LINUX_CONFIG -C $LINUX \ +- LUSTRE_LINUX_CONFIG=$LINUX_CONFIG -C $LINUX $CROSS_VARS \ - ARCHFILE=$PWD/build/arch && LINUX_ARCH=`cat $PWD/build/arch`], - [AC_MSG_RESULT([$LINUX_ARCH])], - [AC_MSG_ERROR([Could not determine the kernel architecture.])]) diff --git a/sys-cluster/lustre/files/0009-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch b/sys-cluster/lustre/files/0009-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch deleted file mode 100644 index f7625d3..0000000 --- a/sys-cluster/lustre/files/0009-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch +++ /dev/null @@ -1,1121 +0,0 @@ -From be658d898d8985782db9aba0c0c65834507938fc Mon Sep 17 00:00:00 2001 -From: Brian Behlendorf -Date: Thu, 28 Mar 2013 12:18:27 -0700 -Subject: [PATCH 09/12] LU-3117 build: zfs-0.6.1 kmod+dkms compatibility - -With the release of zfs-0.6.1 the default install location of -the zfs kmod headers and objects has changed. The kmod headers -which are common for a zfs version are now installed under -/usr/src/zfs-/ path. The objects, which are kernel -specific, are installed under /usr/src/zfs-//. - -This was done just prior to the official 0.6.1 release because -this scheme satisfies the packaging requirements of the major -distributions. Making the change now means we shouldn't need -to change it again. - -To accomidate this change the lustre-build-zfs.m4 has been -updated in the following ways: - -* The new zfs header and object paths were added to the list - of default search paths. The DKMS build paths were also added - to allow compilation against zfs-kmod or zfs-dkms packages. - -* Support for building the spl and zfs code recursively as - part of the Lustre build process was removed. - -* The lustre-osd-zfs packages 'Requires' line was changed to - require zfs-kmod. Either the zfs-kmod or zfs-dkms packages - can be used to satisfy this requirement. - -* Fix incorrect usage of @ZFS_OBJ@ in osd-zfs/Makefile.in, - the include directory us under @ZFS@ with the headers. - These happens to be the same location before so it never - caused issues. - -* EXTRA_LIBZFS_INCLUDE renamed ZFS_LIBZFS_INCLUDE, this was - done for consistency. - -* Failing to build ldiskfs should not automatically disable - all server support. The zfs osd may still be buildable. - -* General m4 cleanup and simplification of lustre-build-zfs.m4. - -* Ensure new zfs/spl build correctly with lbuild. - -Signed-off-by: Brian Behlendorf -Change-Id: Ib686211c4f9ace39a41053ce8a20112d1121def9 -Signed-off-by: Nathaniel Clark ---- - autoMakefile.am | 2 +- - config/lustre-build-ldiskfs.m4 | 1 - - config/lustre-build-zfs.m4 | 731 ++++++++++++++++++----------------------- - contrib/lbuild/lbuild | 147 +++++---- - lustre.spec.in | 2 +- - lustre/osd-zfs/Makefile.in | 3 +- - lustre/utils/Makefile.am | 6 +- - 7 files changed, 407 insertions(+), 485 deletions(-) - -diff --git a/autoMakefile.am b/autoMakefile.am -index bfec407..27e16c1 100644 ---- a/autoMakefile.am -+++ b/autoMakefile.am -@@ -1,4 +1,4 @@ --SUBDIRS := @LDISKFS_SUBDIR@ @SPL_SUBDIR@ @ZFS_SUBDIR@ . @LIBSYSIO_SUBDIR@ @SNMP_SUBDIR@ @LUSTREIOKIT_SUBDIR@ @LIBCFS_SUBDIR@ lnet lustre -+SUBDIRS := @LDISKFS_SUBDIR@ . @LIBSYSIO_SUBDIR@ @SNMP_SUBDIR@ @LUSTREIOKIT_SUBDIR@ @LIBCFS_SUBDIR@ lnet lustre - DIST_SUBDIRS := @LDISKFS_DIST_SUBDIR@ @SNMP_DIST_SUBDIR@ libsysio lustre-iokit @LIBCFS_SUBDIR@ lnet lustre config contrib - SOURCES_SUBDIRS := @LIBCFS_SUBDIR@ lnet lustre - RPM_SUBDIRS := @LDISKFS_SUBDIR@ @LUSTREIOKIT_SUBDIR@ -diff --git a/config/lustre-build-ldiskfs.m4 b/config/lustre-build-ldiskfs.m4 -index d619d7c..f29fd39 100644 ---- a/config/lustre-build-ldiskfs.m4 -+++ b/config/lustre-build-ldiskfs.m4 -@@ -189,7 +189,6 @@ else - fi - - if test x$enable_ldiskfs_build = xno; then -- enable_server='no' - enable_ldiskfs_build='no' - with_ldiskfs='no' - LDISKFS_SUBDIR= -diff --git a/config/lustre-build-zfs.m4 b/config/lustre-build-zfs.m4 -index bfc647f..507afd8 100644 ---- a/config/lustre-build-zfs.m4 -+++ b/config/lustre-build-zfs.m4 -@@ -1,445 +1,350 @@ --# --# LB_PATH_SPL --# --# --with-spl - Enable spl support and attempt to autodetect the spl --# --with-spl=yes headers in one of the following places in this order: --# * ./spl --# * /usr/src/spl-*/$LINUXRELEASE --# * ../spl --# --# --with-spl=path - Enable spl support and use the spl headers in the --# provided path. No autodetection is performed. --# --# --with-spl-obj - When spl support is enabled the object directory --# will be based on the --with-spl directory. If this --# is detected incorrectly it can be explicitly --# specified using this option. --# --# NOTE: As with all external packages spl is expected to already be --# configured and built. However, if the spl tree is located in-tree --# (./spl) then it will be configured and built recursively as part of --# the lustre build system. --# --AC_DEFUN([LB_PATH_SPL], --[ --AC_ARG_WITH([spl], -- AC_HELP_STRING([--with-spl=path], [set path to spl sources]), -- [],[ -- if test x$enable_server = xyes && test x$enable_dist = xno; then -- with_spl='yes' -- else -- with_spl='no' -- fi -+dnl # -+dnl # Supported configure options. When no options are specified support -+dnl # for ZFS OSDs will be autodetected assuming server support is enabled. -+dnl # If the ZFS OSD cannot be built support for it is disabled and a -+dnl # warning is issued but the configure process is allowed to continue. -+dnl # -+dnl # --without-zfs - Disable zfs support. -+dnl # --with-zfs=no -+dnl # -+dnl # --with-zfs - Enable zfs support and attempt to autodetect the zfs -+dnl # --with-zfs=yes headers in one of the following places. Because zfs -+dnl # support was explicitly required if the headers cannot -+dnl # be located it is treated as a fatal error. -+dnl # -+dnl # * /var/lib/dkms/zfs/${VERSION}/build -+dnl # * /usr/src/zfs-${VERSION}/${LINUXRELEASE} -+dnl # * /usr/src/zfs-${VERSION} -+dnl # * ../spl/ -+dnl # * $LINUX -+dnl # -+dnl # --with-zfs=path - Enable zfs support and use the zfs headers in the -+dnl # provided path. No autodetection is performed and -+dnl # if no headers are found this is a fatal error. -+dnl # -+dnl # --with-zfs-obj - When zfs support is enabled the object directory -+dnl # will be based on the --with-zfs directory. If this -+dnl # is detected incorrectly it can be explicitly -+dnl # specified using this option. -+dnl # -+dnl # --without-spl - Disable spl support. -+dnl # --with-spl=no -+dnl # -+dnl # --with-spl - Enable spl support and attempt to autodetect the spl -+dnl # --with-spl=yes headers in one of the following places in this order: -+dnl # * /var/lib/dkms/spl/${VERSION}/build -+dnl # * /usr/src/spl-${VERSION}/${LINUXRELEASE} -+dnl # * /usr/src/spl-${VERSION} -+dnl # * ../spl/ -+dnl # * $LINUX -+dnl # -+dnl # --with-spl=path - Enable spl support and use the spl headers in the -+dnl # provided path. No autodetection is performed. -+dnl # -+dnl # --with-spl-obj - When spl support is enabled the object directory -+dnl # will be based on the --with-spl directory. If this -+dnl # is detected incorrectly it can be explicitly -+dnl # specified using this option. -+dnl # -+AC_DEFUN([LB_SPL], [ -+ AC_ARG_WITH([spl], -+ AS_HELP_STRING([--with-spl=PATH], -+ [Path to spl source]), -+ [splsrc="$withval"]) -+ -+ AC_ARG_WITH([spl-obj], -+ AS_HELP_STRING([--with-spl-obj=PATH], -+ [Path to spl build objects]), -+ [splobj="$withval"]) -+ -+ dnl # -+ dnl # The existence of spl.release[.in] is used to identify a valid -+ dnl # source directory. In order of preference: -+ dnl # -+ splver=$(ls -1 /usr/src/ | grep -m1 spl | cut -f2 -d'-') -+ splsrc0="/var/lib/dkms/spl/${splver}/build" -+ splsrc1="/usr/src/spl-${splver}/${LINUXRELEASE}" -+ splsrc2="/usr/src/spl-${splver}" -+ splsrc3="../spl/" -+ splsrc4="$LINUX" -+ -+ AC_MSG_CHECKING([spl source directory]) -+ AS_IF([test -z "${splsrc}"], [ -+ AS_IF([test -e "${splsrc0}/spl.release.in"], [ -+ splsrc=${splsrc0} -+ ], [test -e "${splsrc1}/spl.release.in"], [ -+ splsrc=${splsrc1} -+ ], [test -e "${splsrc2}/spl.release.in"], [ -+ splsrc=${splsrc2} -+ ], [test -e "${splsrc3}/spl.release.in"], [ -+ splsrc=$(readlink -f "${splsrc3}") -+ ], [test -e "${splsrc4}/spl.release.in"], [ -+ splsrc=${splsrc4} -+ ], [ -+ splsrc="[Not found]" -+ ]) - ]) -+ AC_MSG_RESULT([$splsrc]) - --case x$with_spl in -- xno) -- AC_MSG_ERROR([spl must be enabled when building zfs.]) -- ;; -- xyes) -- SPL_DIR= -- -- # Check ./spl -- spl_src=$PWD/spl -- if test -e "$spl_src"; then -- SPL_DIR=$(readlink -f $spl_src) -- else -- # Check /usr/src/spl-*/$LINUXRELEASE -- spl_src=$(ls -1d /usr/src/spl-*/$LINUXRELEASE \ -- 2>/dev/null | tail -1) -- if test -e "$spl_src"; then -- SPL_DIR=$(readlink -f $spl_src) -- else -- # Check ../spl -- spl_src=$PWD/../spl -- if test -e "$spl_src"; then -- SPL_DIR=$(readlink -f $spl_src) -- else -- # Fatal spl required for zfs builds -- AC_MSG_ERROR([Could not locate spl.]) -- fi -- fi -- fi -- -- ;; -- *) -- SPL_DIR=$(readlink -f $with_spl) -- with_spl='yes' -- ;; --esac -- --AC_ARG_WITH([spl-obj], -- AC_HELP_STRING([--with-spl-obj=path], [set path to spl objects]), -- [ -- if test x$with_spl = xyes; then -- SPL_OBJ="$withval" -- fi -- ],[ -- if test x$with_spl = xyes; then -- SPL_OBJ=$SPL_DIR -- fi -+ AS_IF([test ! -e "$splsrc/spl.release" && -+ test ! -e "$splsrc/spl.release.in"], [ -+ enable_zfs=no - ]) - --AC_MSG_CHECKING([spl source directory]) --AC_MSG_RESULT([$SPL_DIR]) --AC_SUBST(SPL_DIR) -- --AC_MSG_CHECKING([spl object directory]) --AC_MSG_RESULT([$SPL_OBJ]) --AC_SUBST(SPL_OBJ) -- --LB_SPL_SYMVERS --LB_SPL_RELEASE --]) -+ dnl # -+ dnl # The existence of the spl_config.h is used to identify a valid -+ dnl # spl object directory. In many cases the object and source -+ dnl # directory are the same, however the objects may also reside -+ dnl # is a subdirectory named after the kernel version. -+ dnl # -+ AC_MSG_CHECKING([spl build directory]) -+ AS_IF([test -z "$splobj"], [ -+ AS_IF([test -e "${splsrc}/${LINUXRELEASE}/spl_config.h"], [ -+ splobj="${splsrc}/${LINUXRELEASE}" -+ ], [test -e "${splsrc}/spl_config.h"], [ -+ splobj="${splsrc}" -+ ], [ -+ splobj="[Not found]" -+ ]) -+ ]) -+ AC_MSG_RESULT([$splobj]) - --# --# LB_SPL_BUILD --# --# Optionally configure/make the spl sources. If the sources are --# determined to reside in-tree this feature will automatically be --# enabled. If the sources are not in-tree it will be disabled. --# Use --enable-spl-build or --disable-spl-build if you need to --# override this behavior. --# --AC_DEFUN([LB_SPL_BUILD], --[ --AC_ARG_ENABLE([spl-build], -- AC_HELP_STRING([--enable-spl-build], [enable spl configure/make]), -- [], [ -- SPL_DIR_INTREE=$(readlink -f $PWD/spl) -- if test x$SPL_DIR = x$SPL_DIR_INTREE; then -- enable_spl_build='yes' -- else -- enable_spl_build='no' -- fi -+ AS_IF([test ! -e "$splobj/spl_config.h"], [ -+ enable_zfs=no - ]) - --AC_MSG_CHECKING([whether to build spl]) --if test x$enable_spl_build = xyes; then -- AC_MSG_RESULT([$enable_spl_build]) -+ dnl # -+ dnl # Verify the source version using SPL_META_VERSION in spl_config.h -+ dnl # -+ AS_IF([test x$enable_zfs = xyes], [ -+ AC_MSG_CHECKING([spl source version]) -+ AS_IF([fgrep -q SPL_META_VERSION $splobj/spl_config.h], [ -+ splver=$((echo "#include "; -+ echo "splver=SPL_META_VERSION-SPL_META_RELEASE") | -+ cpp -I $splobj | -+ grep "^splver=" | tr -d \" | cut -d= -f2) -+ ], [ -+ splver="[Not found]" -+ enable_zfs=no -+ ]) -+ AC_MSG_RESULT([$splver]) -+ ]) - -- LB_CHECK_FILE([$SPL_DIR/module/spl/spl-generic.c], [], [ -- AC_MSG_ERROR([Complete spl source must exist when building.])]) -+ dnl # -+ dnl # Verify the modules systems exist by the expect name. -+ dnl # -+ AS_IF([test x$enable_zfs = xyes], [ -+ AC_MSG_CHECKING([spl file name for module symbols]) -+ AS_IF([test -r $splobj/$SYMVERFILE], [ -+ splsym=$SYMVERFILE -+ ], [test -r $splobj/module/$SYMVERFILE], [ -+ splsym=$SYMVERFILE -+ ], [ -+ splsym="[Not found]" -+ enable_zfs=no -+ ]) -+ AC_MSG_RESULT([$splsym]) -+ ]) - -- LB_CHECK_FILE([$SPL_DIR/configure], [], [ -- AC_MSG_ERROR([Complete spl source must exist when building.])]) -+ SPL=${splsrc} -+ SPL_OBJ=${splobj} -+ SPL_VERSION=${splver} -+ SPL_SYMBOLS=${splsym} - -- SPL_SUBDIR="$SPL_DIR" -- AC_SUBST(SPL_SUBDIR) -- AC_CONFIG_SUBDIRS("spl") --else -- enable_spl_build='no' -- AC_MSG_RESULT([$enable_spl_build]) --fi -+ AC_SUBST(SPL) -+ AC_SUBST(SPL_OBJ) -+ AC_SUBST(SPL_VERSION) -+ AC_SUBST(SPL_SYMBOLS) - ]) - --# --# LB_SPL_SYMVERS --# --AC_DEFUN([LB_SPL_SYMVERS], --[ --AC_MSG_CHECKING([spl module symbols]) --if test -r $SPL_OBJ/Module.symvers; then -- SPL_SYMBOLS=Module.symvers --elif test -r $SPL_OBJ/Modules.symvers; then -- SPL_SYMBOLS=Modules.symvers --elif test -r $SPL_OBJ/module/Module.symvers; then -- SPL_SYMBOLS=Module.symvers --elif test -r $SPL_OBJ/module/Modules.symvers; then -- SPL_SYMBOLS=Modules.symvers --else -- SPL_SYMBOLS=$SYMVERFILE --fi -- --AC_MSG_RESULT([$SPL_SYMBOLS]) --AC_SUBST(SPL_SYMBOLS) --]) -+AC_DEFUN([LB_ZFS], [ -+ AC_ARG_WITH([zfs-obj], -+ AS_HELP_STRING([--with-zfs-obj=PATH], -+ [Path to zfs build objects]), -+ [zfsobj="$withval"]) -+ -+ dnl # -+ dnl # The existence of zfs.release[.in] is used to identify a valid -+ dnl # source directory. In order of preference: -+ dnl # -+ zfsver=$(ls -1 /usr/src/ | grep -m1 zfs | cut -f2 -d'-') -+ zfssrc0="/var/lib/dkms/zfs/${zfsver}/build" -+ zfssrc1="/usr/src/zfs-${zfsver}/${LINUXRELEASE}" -+ zfssrc2="/usr/src/zfs-${zfsver}" -+ zfssrc3="../zfs/" -+ zfssrc4="$LINUX" - --# --# LB_SPL_RELEASE --# --AC_DEFUN([LB_SPL_RELEASE], --[ --AC_MSG_CHECKING([spl source release]) --if test -r $SPL_OBJ/spl_config.h; then -- tmp_flags="$EXTRA_KCFLAGS" -- EXTRA_KCFLAGS="-I$SPL_DIR $EXTRA_KCFLAGS" -- LB_LINUX_TRY_MAKE([ -- #include <$SPL_OBJ/spl_config.h> -- ],[ -- char *SPL_RELEASE; -- SPL_RELEASE=SPL_META_VERSION; -- ],[ -- $makerule LUSTRE_KERNEL_TEST=conftest.i -- ],[ -- test -s build/conftest.i -- ],[ -- eval $(grep "SPL_RELEASE=" build/conftest.i) -- ],[ -- AC_MSG_RESULT([unknown]) -- AC_MSG_ERROR([Could not preprocess test program.]) -+ AC_MSG_CHECKING([zfs source directory]) -+ AS_IF([test -z "${zfssrc}"], [ -+ AS_IF([test -e "${zfssrc0}/zfs.release.in"], [ -+ zfssrc=${zfssrc0} -+ ], [test -e "${zfssrc1}/zfs.release.in"], [ -+ zfssrc=${zfssrc1} -+ ], [test -e "${zfssrc2}/zfs.release.in"], [ -+ zfssrc=${zfssrc2} -+ ], [test -e "${zfssrc3}/zfs.release.in"], [ -+ zfssrc=$(readlink -f "${zfssrc3}") -+ ], [test -e "${zfssrc4}/zfs.release.in"], [ -+ zfssrc=${zfssrc4} -+ ], [ -+ zfssrc="[Not found]" -+ ]) - ]) -- EXTRA_KCFLAGS="$tmp_flags" -- rm build/conftest.i --elif test -r $SPL_DIR/META; then -- SPL_RELEASE=$(awk '/Version/ { print [$]2 }' $SPL_DIR/META) --else -- AC_MSG_RESULT([unknown]) -- AC_MSG_ERROR([Could not locate spl_config.h or META to check release.]) --fi -- --if test x$SPL_RELEASE = x; then -- AC_MSG_RESULT([unknown]) -- AC_MSG_ERROR([Could not determine spl release.]) --fi -- --AC_MSG_RESULT([$SPL_RELEASE]) --AC_SUBST(SPL_RELEASE) --]) -- -+ AC_MSG_RESULT([$zfssrc]) - --# --# LB_PATH_ZFS --# --# --without-zfs - Disable zfs support. --# --with-zfs=no --# --# --with-zfs - Enable zfs support and attempt to autodetect the zfs --# --with-zfs=yes headers in one of the following places in this order: --# * ./zfs --# * /usr/src/zfs-*/$LINUXRELEASE --# * ../zfs --# --# --with-zfs=path - Enable zfs support and use the zfs headers in the --# provided path. No autodetection is performed. --# --# --with-zfs-obj - When zfs support is enabled the object directory --# will be based on the --with-zfs directory. If this --# is detected incorrectly it can be explicitly --# specified using this option. --# --# NOTE: As with all external packages zfs is expected to already be --# configured and built. However, if the zfs tree is located in-tree --# (./zfs) then it will be configured and built recursively as part of --# the lustre build system. --# --AC_DEFUN([LB_PATH_ZFS], --[ --AC_ARG_WITH([zfs], -- AC_HELP_STRING([--with-zfs=path], [set path to zfs sources]), -- [],[ -- if test x$enable_server = xyes && test x$enable_dist = xno; then -- with_zfs='yes' -- else -- with_zfs='no' -- fi -+ AS_IF([test ! -e "$zfssrc/zfs.release.in" && -+ test ! -e "$zfssrc/zfs.release"], [ -+ enable_zfs=no - ]) - --case x$with_zfs in -- xno) -- ZFS_DIR= -- ;; -- xyes) -- ZFS_DIR= -- -- # Check ./zfs -- zfs_src=$PWD/zfs -- if test -e "$zfs_src"; then -- ZFS_DIR=$(readlink -f $zfs_src) -- else -- # Check /usr/src/zfs-*/$LINUXRELEASE -- zfs_src=$(ls -1d /usr/src/zfs-*/$LINUXRELEASE \ -- 2>/dev/null|tail -1) -- if test -e "$zfs_src"; then -- ZFS_DIR=$(readlink -f $zfs_src) -- else -- # Check ../zfs -- zfs_src=$PWD/../zfs -- if test -e "$zfs_src"; then -- ZFS_DIR=$(readlink -f $zfs_src) -- else -- # Disable zfs failed to detect sources -- with_zfs='no' -- fi -- fi -- fi -- ;; -- *) -- ZFS_DIR=$(readlink -f $with_zfs) -- with_zfs='yes' -- ;; --esac -- --AC_MSG_CHECKING([whether to enable zfs]) --AC_MSG_RESULT([$with_zfs]) -- --if test x$with_zfs = xyes; then -- AC_MSG_CHECKING([for location of zfs library headers]) -- if test -e "$ZFS_DIR/include/libzfs.h"; then -- EXTRA_LIBZFS_INCLUDE="$EXTRA_LIBZFS_INCLUDE -I $ZFS_DIR/lib/libspl/include -I $ZFS_DIR/include" -- AC_MSG_RESULT([$ZFS_DIR]) -- elif test -e "$ZFS_DIR/libzfs/libzfs.h"; then -- EXTRA_LIBZFS_INCLUDE="$EXTRA_LIBZFS_INCLUDE -I $ZFS_DIR/libspl -I $ZFS_DIR/libzfs" -- AC_MSG_RESULT([$ZFS_DIR]) -- elif test -e "/usr/include/libzfs/libzfs.h"; then -- AC_MSG_RESULT([/usr/include]) -- EXTRA_LIBZFS_INCLUDE="$EXTRA_LIBZFS_INCLUDE -I /usr/include/libspl -I /usr/include/libzfs" -- else -- AC_MSG_RESULT([unknown]) -- AC_MSG_ERROR([Could not locate zfs library headers.]) -- fi -- AC_SUBST(EXTRA_LIBZFS_INCLUDE) --fi -- --AC_ARG_WITH([zfs-obj], -- AC_HELP_STRING([--with-zfs-obj=path], [set path to zfs objects]), -- [ -- if test x$with_zfs = xyes; then -- ZFS_OBJ="$withval" -- fi -- ],[ -- if test x$with_zfs = xyes; then -- ZFS_OBJ=$ZFS_DIR -- fi -+ dnl # -+ dnl # The existence of the zfs_config.h is used to identify a valid -+ dnl # zfs object directory. In many cases the object and source -+ dnl # directory are the same, however the objects may also reside -+ dnl # is a subdirectory named after the kernel version. -+ dnl # -+ AC_MSG_CHECKING([zfs build directory]) -+ AS_IF([test -z "$zfsobj"], [ -+ AS_IF([test -e "${zfssrc}/${LINUXRELEASE}/zfs_config.h"], [ -+ zfsobj="${zfssrc}/${LINUXRELEASE}" -+ ], [test -e "${zfssrc}/zfs_config.h"], [ -+ zfsobj="${zfssrc}" -+ ], [ -+ zfsobj="[Not found]" -+ ]) - ]) - --if test x$with_zfs = xyes; then -- LB_ZFS_DEFINE_OPTIONS -- -- AC_MSG_CHECKING([zfs source directory]) -- AC_MSG_RESULT([$ZFS_DIR]) -- AC_SUBST(ZFS_DIR) -- -- AC_MSG_CHECKING([zfs object directory]) -- AC_MSG_RESULT([$ZFS_OBJ]) -- AC_SUBST(ZFS_OBJ) -+ AC_MSG_RESULT([$zfsobj]) -+ AS_IF([test ! -e "$zfsobj/zfs_config.h"], [ -+ enable_zfs=no -+ ]) - -- LB_ZFS_SYMVERS -- LB_ZFS_RELEASE -+ dnl # -+ dnl # Verify the source version using SPL_META_VERSION in spl_config.h -+ dnl # -+ AS_IF([test x$enable_zfs = xyes], [ -+ AC_MSG_CHECKING([zfs source version]) -+ AS_IF([fgrep -q ZFS_META_VERSION $zfsobj/zfs_config.h], [ -+ zfsver=$((echo "#include "; -+ echo "zfsver=ZFS_META_VERSION-ZFS_META_RELEASE") | -+ cpp -I $zfsobj | -+ grep "^zfsver=" | tr -d \" | cut -d= -f2) -+ ],[ -+ zfsver="[Not found]" -+ enable_zfs=no -+ ]) -+ AC_MSG_RESULT([$zfsver]) -+ ]) - -- LB_PATH_SPL -+ dnl # -+ dnl # Verify the modules systems exist by the expect name. -+ dnl # -+ AS_IF([test x$enable_zfs = xyes], [ -+ AC_MSG_CHECKING([zfs file name for module symbols]) -+ AS_IF([test -r $zfsobj/$SYMVERFILE], [ -+ zfssym=$SYMVERFILE -+ ], [test -r $zfsobj/module/$SYMVERFILE], [ -+ zfssym=$SYMVERFILE -+ ], [ -+ zfssym="[Not found]" -+ enable_zfs=no -+ ]) -+ AC_MSG_RESULT([$zfssym]) -+ ]) - -- LB_SPL_BUILD -- LB_ZFS_BUILD --fi -+ ZFS=${zfssrc} -+ ZFS_OBJ=${zfsobj} -+ ZFS_VERSION=${zfsver} -+ ZFS_SYMBOLS=${zfssym} - --AM_CONDITIONAL(SPL_BUILD, test x$enable_spl_build = xyes) --AM_CONDITIONAL(ZFS_BUILD, test x$enable_zfs_build = xyes) --AM_CONDITIONAL(ZFS_ENABLED, test x$with_zfs = xyes) -+ AC_SUBST(ZFS) -+ AC_SUBST(ZFS_OBJ) -+ AC_SUBST(ZFS_VERSION) -+ AC_SUBST(ZFS_SYMBOLS) - ]) - --# --# LB_ZFS_BUILD --# --# Optionally configure/make the zfs sources. If the sources are --# determined to reside in-tree this feature will automatically be --# enabled. If the sources are not in-tree it will be disabled. --# Use --enable-zfs-build or --disable-zfs-build if you need to --# override this behavior. --# --AC_DEFUN([LB_ZFS_BUILD], --[ --AC_ARG_ENABLE([zfs-build], -- AC_HELP_STRING([--enable-zfs-build], [enable zfs configure/make]), -- [], [ -- ZFS_DIR_INTREE=$(readlink -f $PWD/zfs) -- if test x$ZFS_DIR = x$ZFS_DIR_INTREE; then -- enable_zfs_build='yes' -- else -- enable_zfs_build='no' -- fi -+AC_DEFUN([LB_ZFS_USER], [ -+ dnl # -+ dnl # Detect user space zfs development headers. -+ dnl # -+ AC_MSG_CHECKING([zfs devel headers]) -+ AS_IF([test -d /usr/include/libzfs && test -d /usr/include/libspl], [ -+ zfslib="-I /usr/include/libspl -I /usr/include/libzfs" -+ ], [ -+ zfslib="[Not found]" -+ enable_zfs=no - ]) -+ AC_MSG_RESULT([$zfslib]) - --AC_MSG_CHECKING([whether to build zfs]) --if test x$enable_zfs_build = xyes; then -- AC_MSG_RESULT([$enable_zfs_build]) -- -- LB_CHECK_FILE([$ZFS_DIR/module/zfs/dmu.c], [], [ -- AC_MSG_ERROR([Complete zfs sources must exist when building.])]) -- -- LB_CHECK_FILE([$ZFS_DIR/configure], [], [ -- AC_MSG_ERROR([Complete zfs sources must exist when building.])]) -- -- ZFS_SUBDIR="$ZFS_DIR" -- AC_SUBST(ZFS_SUBDIR) -- AC_CONFIG_SUBDIRS("zfs") -- -- ac_configure_args="$ac_configure_args --with-spl=$SPL_DIR" -- ac_configure_args="$ac_configure_args --with-spl-obj=$SPL_OBJ" --else -- enable_zfs_build='no' -- AC_MSG_RESULT([$enable_zfs_build]) --fi -+ ZFS_LIBZFS_INCLUDE=${zfslib} -+ AC_SUBST(ZFS_LIBZFS_INCLUDE) - ]) - --# --# LB_ZFS_SYMVERS --# --AC_DEFUN([LB_ZFS_SYMVERS], --[ --AC_MSG_CHECKING([zfs module symbols]) --if test -r $ZFS_OBJ/Module.symvers; then -- ZFS_SYMBOLS=Module.symvers --elif test -r $ZFS_OBJ/Modules.symvers; then -- ZFS_SYMBOLS=Modules.symvers --elif test -r $ZFS_OBJ/module/Module.symvers; then -- ZFS_SYMBOLS=Module.symvers --elif test -r $ZFS_OBJ/module/Modules.symvers; then -- ZFS_SYMBOLS=Modules.symvers --else -- ZFS_SYMBOLS=$SYMVERFILE --fi -- --AC_MSG_RESULT([$ZFS_SYMBOLS]) --AC_SUBST(ZFS_SYMBOLS) --]) -- --# --# LB_ZFS_RELEASE --# --AC_DEFUN([LB_ZFS_RELEASE], --[ --AC_MSG_CHECKING([zfs source release]) --if test -r $ZFS_OBJ/zfs_config.h; then -- tmp_flags="$EXTRA_KCFLAGS" -- EXTRA_KCFLAGS="-I$ZFS_OBJ $EXTRA_KCFLAGS" -- LB_LINUX_TRY_MAKE([ -- #include <$ZFS_OBJ/zfs_config.h> -- ],[ -- char *ZFS_RELEASE; -- ZFS_RELEASE=ZFS_META_VERSION; -- ],[ -- $makerule LUSTRE_KERNEL_TEST=conftest.i -- ],[ -- test -s build/conftest.i -- ],[ -- eval $(grep "ZFS_RELEASE=" build/conftest.i) -- ],[ -- AC_MSG_RESULT([unknown]) -- AC_MSG_ERROR([Could not preprocess test program.]) -+AC_DEFUN([LB_PATH_ZFS], [ -+ AC_ARG_WITH([zfs], -+ [AS_HELP_STRING([--with-zfs=PATH], [Path to zfs source])], -+ [ -+ AS_IF([test x$withval = xno], [ -+ enable_zfs=no -+ require_zfs=no -+ ], [test x$withval = xyes], [ -+ enable_zfs=yes -+ require_zfs=yes -+ ], [ -+ enable_zfs=yes -+ require_zfs=yes -+ zfssrc="$withval" -+ ]) -+ ], [ -+ AS_IF([test x$enable_server = xyes && -+ test x$enable_dist = xno], [ -+ require_zfs=no -+ enable_zfs=yes -+ ], [ -+ require_zfs=no -+ enable_zfs=no -+ ]) -+ ]) -+ -+ AC_MSG_CHECKING([whether to enable zfs]) -+ AC_MSG_RESULT([$enable_zfs]) -+ -+ AS_IF([test x$enable_zfs = xyes], [ -+ AS_IF([test x$enable_modules = xyes], [ -+ LB_SPL -+ LB_ZFS -+ ]) -+ -+ LB_ZFS_USER -+ -+ dnl # -+ dnl # enable_zfs will be set to no in LB_SPL or LB_ZFS if -+ dnl # one of more of the build requirements is not met. -+ dnl # -+ AS_IF([test x$enable_zfs = xyes], [ -+ AC_DEFINE(HAVE_ZFS_OSD, 1, Enable zfs osd) -+ ],[ -+ AS_IF([test x$require_zfs = xyes], [ -+ AC_MSG_ERROR([ -+ -+Required zfs osd cannot be built due to missing zfs development headers. -+ -+Support for zfs can be enabled by downloading the required packages for your -+distribution. See http://zfsonlinux.org/ to determine is zfs is supported by -+your distribution. -+ ]) -+ ], [ -+ AC_MSG_WARN([ -+ -+Disabling optional zfs osd due to missing development headers. -+ -+Support for zfs can be enabled by downloading the required packages for your -+distribution. See http://zfsonlinux.org/ to determine is zfs is supported by -+your distribution. -+ ]) -+ ]) -+ ]) - ]) -- EXTRA_KCFLAGS="$tmp_flags" -- rm build/conftest.i --elif test -r $ZFS_DIR/META; then -- ZFS_RELEASE=$(awk '/Version/ { print [$]2 }' $ZFS_DIR/META) --else -- AC_MSG_RESULT([unknown]) -- AC_MSG_ERROR([Could not locate zfs_config.h or META to check release.]) --fi -- --if test x$ZFS_RELEASE = x; then -- AC_MSG_RESULT([unknown]) -- AC_MSG_ERROR([Could not determine zfs release.]) --fi -- --AC_MSG_RESULT([$ZFS_RELEASE]) --AC_SUBST(ZFS_RELEASE) --]) - --# --# LB_ZFS_DEFINE_OPTIONS --# --AC_DEFUN([LB_ZFS_DEFINE_OPTIONS], --[ --AC_DEFINE(HAVE_ZFS_OSD, 1, Enable zfs osd) -+ AM_CONDITIONAL(ZFS_ENABLED, test x$enable_zfs = xyes) - ]) -diff --git a/contrib/lbuild/lbuild b/contrib/lbuild/lbuild -index d682f3c..b4a0a8d 100755 ---- a/contrib/lbuild/lbuild -+++ b/contrib/lbuild/lbuild -@@ -993,36 +993,60 @@ build_lustre() { - # - # Fetch spl/zfs from the git repo and prepare for lustre build - # -+# Overrides: -+# SPLZFSGITREPO - URI of directory where spl.git and zfs.git are located -+# SPLZFSTAG - Tag to checkout of clone repositories -+# SPLZFSVER - Version to checkout of both (format zfs/spl-$SPLZFSVER) -+# - # return 0 if successful, else 255 - build_spl_zfs() { - # make sure the RPM build environment is set up -+ pushd $TOPDIR - create_rpmbuild_dirs -+ popd - - # The spl/zfs spec files expect RPM_BUILD_ROOT to point to the root of the - # destination for the rpms - export RPM_BUILD_ROOT=$TOPDIR -+ SPLZFSVER=${SPLZFSVER:-0.6.1} -+ SPLZFSTAG=${SPLZFSTAG:-lustre-zfs} - - # The files expect a kver to be set to the kernel version . -- kver=$(cat ${LINUX}/include/config/kernel.release) -+ local kver=$(find_linux_release ${LINUX}) - - # build and install the spl and zfs (and -devel) RPMs for lustre to use - local pkg - for pkg in spl zfs; do - -- local rpmmod spldir -+ local rpmpkg - -- [ "$pkg" == "zfs" ] && spldir="$(ls -d $TOPDIR/usr/src/spl-*/*)" -- rpmmod=$pkg-modules -+ [ "$pkg" == "zfs" ] && spldir="$(ls -d $TOPDIR/usr/src/spl-*/|tail -1)" - - # need to fetch the repo in order to build it. - # default to github but allow override - git clone ${SPLZFSGITREPO:-"https://github.com/zfsonlinux"}/$pkg.git $pkg 2>&1 - - pushd $pkg || return 255 -- -- # XXX - _having_ to give a package a kernel just to have it configure -- # enough to do a "make dist" is truely bogus! -- if ! ./configure --with-linux=${LINUX} \ -+ if [ -n "$SPLZFSTAG" ]; then -+ git checkout $SPLZFSTAG -+ else -+ git checkout -b lbuild $pkg-$SPLZFSVER -+ fi -+ -+ # This differentiates between older zfs versions -+ if [ -f $pkg-modules.spec.in ]; then -+ rpmpkg=$pkg-modules -+ specdir=. -+ speclist="$pkg.spec $rpmpkg.spec" -+ else -+ rpmpkg=kmod-$pkg-devel -+ specdir=rpm/generic -+ speclist="$pkg.spec $pkg-kmod.spec $pkg-dkms.spec" -+ fi -+ -+ sh autogen.sh || return 255 -+ -+ if ! ./configure --with-linux=${LINUX} --with-linux-obj=${LINUX} \ - ${spldir:+--with-spl="${spldir}"} 2>&1 || - ! make dist 2>&1; then - popd -@@ -1030,71 +1054,57 @@ build_spl_zfs() { - fi - popd - -- # XXX - dirty hack time. ~sigh~ -- # because the spl tarball contains two .spec files, we cannot -- # simply rebuild the tarball -- ln $pkg/$pkg-*.tar.gz $TOPDIR/SOURCES || -- error "failed to link $pkg/$pkg-*.tar.gz into $TOPDIR/SOURCES" -- -- # First build the userspace tools RPMs -- if ! $RPMBUILD $targets -bb $pkg/$pkg.spec \ -- --nodeps -v \ -- --define "configure_args ${CONFIGURE_FLAGS}" \ -- --define "_tmppath /var/tmp" \ -- --define "_topdir $TOPDIR" 2>&1; then -- return 255 -- fi -- -- if $DO_SRC; then -- if ! $RPMBUILD -bs $pkg/$pkg.spec \ -- --nodeps -v \ -- --define "configure_args ${CONFIGURE_FLAGS}" \ -- --define "_tmppath /var/tmp" \ -- --define "_topdir $TOPDIR" 2>&1; then -- return 255 -+ ln -f $pkg/$pkg-*.tar.gz $TOPDIR/SOURCES || -+ error "failed to link $pkg/$pkg-*.tar.gz into $TOPDIR/SOURCES" -+ if [ -f $pkg/scripts/kmodtool ]; then -+ ln -f $pkg/scripts/kmodtool $TOPDIR/SOURCES/ -+ fi -+ -+ local rpmb -+ if $DO_SRC; then -+ rpmb=-ba -+ else -+ rpmb=-bb -+ fi -+ -+ # set search dir for our own kmodtool to find correct -+ # directories -+ export KERNELSOURCE=$(dirname ${LINUX}) -+ # Manually build rpms -+ for spec in $speclist; do -+ echo "Building RPMs from $pkg/$specdir/$spec" -+ if ! $RPMBUILD $rpmb $pkg/$specdir/$spec \ -+ --nodeps -v \ -+ --define "require_kdir ${LINUX}" \ -+ ${LINUXOBJ:+--define "require_kobj ${LINUXOBJ}"} \ -+ ${spldir:+--define "require_spldir ${spldir}"} \ -+ --define "kver $kver" \ -+ --define "kernels $kver" \ -+ --define "_tmppath /var/tmp" \ -+ --define "kernelbuildroot $(find_linux_builddir $LINUX)" \ -+ --define "_topdir $TOPDIR" 2>&1; then -+ return 255 - fi -- fi -+ done - -- # Now the kernel module RPMs -- # Need to provide pointers to the lustre kernel source, objects, usr/src -- if ! $RPMBUILD $targets -bb $pkg/$rpmmod.spec \ -- --nodeps -v \ -- --define "require_kdir ${linux}" \ -- ${linuxobj:+--define "require_kobj ${linuxobj}"} \ -- ${spldir:+--define "require_spldir ${spldir}"} \ -- --define "configure_args ${CONFIGURE_FLAGS}" \ -- --define "_usrsrc $TOPDIR/usr/src" \ -- --define "kver $kver" \ -- --define "_tmppath /var/tmp" \ -- --define "_topdir $TOPDIR" 2>&1; then -- return 255 -- fi -+# $DO_SRC && mv $pkg*.src.rpm $TOPDIR/SRPMS/ -+# mv $pkg*.noarch.rpm $TOPDIR/RPMS/noarch/ -+# mv *$pkg*.$TARGET_ARCH.rpm $TOPDIR/RPMS/$(basearch $TARGET_ARCH)/ - -- if $DO_SRC; then -- if ! $RPMBUILD -bs $pkg/$rpmmod.spec \ -- --nodeps -v \ -- --define "require_kdir ${linux}" \ -- ${linuxobj:+--define "require_kobj ${linuxobj}"} \ -- ${spldir:+--define "require_spldir ${spldir}"} \ -- --define "configure_args ${CONFIGURE_FLAGS}" \ -- --define "_usrsrc $TOPDIR/usr/src" \ -- --define "kver $kver" \ -- --define "_tmppath /var/tmp" \ -- --define "_topdir $TOPDIR" 2>&1; then -- return 255 -- fi -- fi -- -- # We have built the rpms for the package. No we need to extract the -+ # We have built the rpms for the package. Now we need to extract the - # contained files so we can build further things against them -- local rpm=$(ls $TOPDIR/RPMS/*/$rpmmod-devel-*.rpm) -+ local rpms=$(ls -1 $TOPDIR/RPMS/*/$rpmpkg-*.rpm) - - # cpio only extract to pwd so we need to go there. - pushd $TOPDIR -- rpm2cpio < $rpm | cpio -id -+ local rpm -+ for rpm in $rpms; do -+ rpm2cpio $rpm | cpio -id -+ done - popd - -- CONFIGURE_FLAGS="--with-$pkg=$(ls -d $TOPDIR/usr/src/$pkg-*/*) ${CONFIGURE_FLAGS}" -+ CONFIGURE_FLAGS="--with-$pkg=$(ls -d $TOPDIR/usr/src/$pkg-*/|tail -1) ${CONFIGURE_FLAGS}" -+ CONFIGURE_FLAGS="--with-$pkg-obj=$(ls -d $TOPDIR/usr/src/$pkg-*/$kver*|tail -1) ${CONFIGURE_FLAGS}" - done - - OSDZFSRPM=true -@@ -1177,7 +1187,15 @@ find_linux_release() { - fi - - sed -ne 's/#define UTS_RELEASE "\(.*\)"$/\1/p' $LINUXRELEASEHEADER -+} -+ -+# This funcition finds the buildroot directory for a given linux -+# kernel directory -+find_linux_builddir() { -+ local linux=${1:-${LINUX}} -+ local rel=$(find_linux_release $linux) - -+ echo ${linux%/usr/src/kernels/${rel}*} - } - - # unpack kernel(/source/devel) RPM -@@ -1765,6 +1783,7 @@ create_rpmbuild_dirs() { - fi - [ -d RPMS/$arch ] || mkdir RPMS/$arch - done -+ [ -d RPMS/noarch ] || mkdir RPMS/noarch - [ -d BUILD ] || mkdir BUILD - [ -d SOURCES ] || mkdir SOURCES - [ -d SPECS ] || mkdir SPECS -diff --git a/lustre.spec.in b/lustre.spec.in -index afb5016..d07949a 100644 ---- a/lustre.spec.in -+++ b/lustre.spec.in -@@ -115,7 +115,7 @@ backing store of a Lustre server. - %if %{build_lustre_osd_zfs} - %package osd-zfs - Summary: osd-zfs is the mandatory glue for ZFS support in Lustre. --Requires: lustre-modules = %{version}, zfs-modules -+Requires: lustre-modules = %{version}, zfs-kmod - Provides: lustre-osd - Group: Development/Kernel - -diff --git a/lustre/osd-zfs/Makefile.in b/lustre/osd-zfs/Makefile.in -index 0a2dceb..7def377 100644 ---- a/lustre/osd-zfs/Makefile.in -+++ b/lustre/osd-zfs/Makefile.in -@@ -2,9 +2,8 @@ MODULES := osd_zfs - osd_zfs-objs := osd_handler.o osd_lproc.o udmu.o osd_quota.o - osd_zfs-objs += osd_object.o osd_io.o osd_oi.o osd_xattr.o osd_index.o - --EXTRA_PRE_CFLAGS += -I@SPL_DIR@ -I@SPL_DIR@/include - EXTRA_PRE_CFLAGS += -include @SPL_OBJ@/spl_config.h --EXTRA_PRE_CFLAGS += -I@ZFS_OBJ@ -I@ZFS_OBJ@/include - EXTRA_PRE_CFLAGS += -include @ZFS_OBJ@/zfs_config.h -+EXTRA_PRE_CFLAGS += -I@SPL@ -I@SPL@/include -I@ZFS@ -I@ZFS@/include - - @INCLUDE_RULES@ -diff --git a/lustre/utils/Makefile.am b/lustre/utils/Makefile.am -index a353557..23bde35 100644 ---- a/lustre/utils/Makefile.am -+++ b/lustre/utils/Makefile.am -@@ -133,7 +133,7 @@ endif - if ZFS_ENABLED - mount_lustre_SOURCES += mount_utils_zfs.c - mount_lustre_CPPFLAGS += -DHAVE_IOCTL_IN_UNISTD_H --mount_lustre_CPPFLAGS += $(EXTRA_LIBZFS_INCLUDE) -+mount_lustre_CPPFLAGS += $(ZFS_LIBZFS_INCLUDE) - mount_lustre_LDFLAGS = -pthread -rdynamic -ldl - endif - -@@ -149,7 +149,7 @@ endif - if ZFS_ENABLED - mkfs_lustre_SOURCES += mount_utils_zfs.c - mkfs_lustre_CPPFLAGS += -DHAVE_IOCTL_IN_UNISTD_H --mkfs_lustre_CPPFLAGS += $(EXTRA_LIBZFS_INCLUDE) -+mkfs_lustre_CPPFLAGS += $(ZFS_LIBZFS_INCLUDE) - mkfs_lustre_LDFLAGS = -pthread -rdynamic -ldl - endif - -@@ -163,7 +163,7 @@ endif - if ZFS_ENABLED - tunefs_lustre_SOURCES += mount_utils_zfs.c - tunefs_lustre_CPPFLAGS += -DHAVE_IOCTL_IN_UNISTD_H --tunefs_lustre_CPPFLAGS += $(EXTRA_LIBZFS_INCLUDE) -+tunefs_lustre_CPPFLAGS += $(ZFS_LIBZFS_INCLUDE) - tunefs_lustre_LDFLAGS = -pthread -rdynamic -ldl - endif - --- -1.8.2.1 - diff --git a/sys-cluster/lustre/files/0011-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch b/sys-cluster/lustre/files/0010-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch similarity index 96% rename from sys-cluster/lustre/files/0011-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch rename to sys-cluster/lustre/files/0010-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch index f05aeaf..510b6d3 100644 --- a/sys-cluster/lustre/files/0011-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch +++ b/sys-cluster/lustre/files/0010-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch @@ -1,7 +1,7 @@ -From ce1f67c5c62e85f4b64146563dcf365209592aaa Mon Sep 17 00:00:00 2001 +From b36528aa2738f3ee4c9b26694502212619ee7283 Mon Sep 17 00:00:00 2001 From: Alexey Shvetsov Date: Sun, 31 Mar 2013 19:32:30 +0400 -Subject: [PATCH 11/12] LU-3079 kernel: 3.9 hlist_for_each_entry uses 3 args +Subject: [PATCH 10/12] LU-3079 kernel: 3.9 hlist_for_each_entry uses 3 args In 3.9 hlist_for_each_entry use 3 args since commit diff --git a/sys-cluster/lustre/files/0012-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch b/sys-cluster/lustre/files/0011-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch similarity index 93% rename from sys-cluster/lustre/files/0012-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch rename to sys-cluster/lustre/files/0011-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch index 4c7c7b0..bfcb3da 100644 --- a/sys-cluster/lustre/files/0012-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch +++ b/sys-cluster/lustre/files/0011-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch @@ -1,7 +1,7 @@ -From 339363a3e668585842a8a11ec141734521063e3e Mon Sep 17 00:00:00 2001 +From f8a2f09093e0279f32eb7e79b6d014bbee8482d7 Mon Sep 17 00:00:00 2001 From: Alexey Shvetsov Date: Sun, 31 Mar 2013 20:13:21 +0400 -Subject: [PATCH 12/12] LU-3079 kernel: f_vfsmnt replaced by f_path.mnt +Subject: [PATCH 11/12] LU-3079 kernel: f_vfsmnt replaced by f_path.mnt In linux 3.9 f_vfsmnt was killed and replaced diff --git a/sys-cluster/lustre/files/0012-LU-3179-build-fix-compilation-error-with-gcc-4.7.2.patch b/sys-cluster/lustre/files/0012-LU-3179-build-fix-compilation-error-with-gcc-4.7.2.patch new file mode 100644 index 0000000..cb7c8c8 --- /dev/null +++ b/sys-cluster/lustre/files/0012-LU-3179-build-fix-compilation-error-with-gcc-4.7.2.patch @@ -0,0 +1,43 @@ +From 15e569cb19f7d46747da8ca461db0869571db0cc Mon Sep 17 00:00:00 2001 +From: Bob Glossman +Date: Wed, 24 Apr 2013 06:43:35 -0700 +Subject: [PATCH 12/12] LU-3179 build: fix compilation error with gcc 4.7.2 + +use cast to resolve build warning from gcc 4.7.2 + +Signed-off-by: Bob Glossman +Change-Id: I4356e621f5b9c687a6b76b12a93b664d542e1c79 +--- + lustre/ptlrpc/nrs_crr.c | 2 +- + lustre/ptlrpc/nrs_orr.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lustre/ptlrpc/nrs_crr.c b/lustre/ptlrpc/nrs_crr.c +index 0335bf9..6545913 100644 +--- a/lustre/ptlrpc/nrs_crr.c ++++ b/lustre/ptlrpc/nrs_crr.c +@@ -278,7 +278,7 @@ int nrs_crrn_ctl(struct ptlrpc_nrs_policy *policy, enum ptlrpc_nrs_ctl opc, + { + LASSERT(spin_is_locked(&policy->pol_nrs->nrs_lock)); + +- switch(opc) { ++ switch((enum nrs_ctl_crr)opc) { + default: + RETURN(-EINVAL); + +diff --git a/lustre/ptlrpc/nrs_orr.c b/lustre/ptlrpc/nrs_orr.c +index bc4b373..5363629 100644 +--- a/lustre/ptlrpc/nrs_orr.c ++++ b/lustre/ptlrpc/nrs_orr.c +@@ -759,7 +759,7 @@ int nrs_orr_ctl(struct ptlrpc_nrs_policy *policy, enum ptlrpc_nrs_ctl opc, + { + LASSERT(spin_is_locked(&policy->pol_nrs->nrs_lock)); + +- switch(opc) { ++ switch((enum nrs_ctl_orr)opc) { + default: + RETURN(-EINVAL); + +-- +1.8.2.1 + diff --git a/sys-cluster/lustre/lustre-9999.ebuild b/sys-cluster/lustre/lustre-9999.ebuild index cbc61e4..23ee833 100644 --- a/sys-cluster/lustre/lustre-9999.ebuild +++ b/sys-cluster/lustre/lustre-9999.ebuild @@ -41,10 +41,10 @@ PATCHES=( "${FILESDIR}/0006-LU-2987-llite-rcu-free-inode.patch" "${FILESDIR}/0007-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch" "${FILESDIR}/0008-LU-2850-kernel-3.8-upstream-kills-daemonize.patch" - "${FILESDIR}/0009-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch" - "${FILESDIR}/0010-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch" - "${FILESDIR}/0011-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch" - "${FILESDIR}/0012-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch" + "${FILESDIR}/0009-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch" + "${FILESDIR}/0010-LU-3079-kernel-3.9-hlist_for_each_entry-uses-3-args.patch" + "${FILESDIR}/0011-LU-3079-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch" + "${FILESDIR}/0012-LU-3179-build-fix-compilation-error-with-gcc-4.7.2.patch" ) pkg_setup() {