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 B0CC11381F3 for ; Tue, 16 Apr 2013 12:08:11 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 40ECFE096F; Tue, 16 Apr 2013 12:08:10 +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 A4F42E096F for ; Tue, 16 Apr 2013 12:08: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 89B9F33DDF3 for ; Tue, 16 Apr 2013 12:08:08 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 27F72E4306 for ; Tue, 16 Apr 2013 12:08:07 +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: <1366114059.b80eb8efbb6d563d66b637019493db25333fc829.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-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch sys-cluster/lustre/files/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch sys-cluster/lustre/files/0002-LU-2800-libcfs-use-sock_alloc_file-instead-of-sock_m.patch sys-cluster/lustre/files/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch sys-cluster/lustre/files/0004-LU-2800-llite-introduce-local-getname.patch sys-cluster/lustre/files/0005-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch sys-cluster/lustre/files/0005-LU-2850-build-check-header-files-in-generated-uapi-d.patch sys-cluster/lustre/files/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch sys-cluster/lustre/files/0008-LU-2987-llite-rcu-free-inode.patch sys-cluster/lustre/files/0009-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch sys-cluster/lustre/files/0009-LU-3117 -build-zfs-0.6.1-kmod-dkms-compatibility.patch sys-cluster/lustre/files/0010-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch sys-cluster/lustre/files/0011-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.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: b80eb8efbb6d563d66b637019493db25333fc829 X-VCS-Branch: master Date: Tue, 16 Apr 2013 12:08:07 +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: b644b474-8589-4807-a797-03002c5880f4 X-Archives-Hash: fd3d7259e06a029793bbe9c09aed221a commit: b80eb8efbb6d563d66b637019493db25333fc829 Author: Alexey Shvetsov gentoo org> AuthorDate: Tue Apr 16 12:07:39 2013 +0000 Commit: Alexey Shvetsov gentoo org> CommitDate: Tue Apr 16 12:07:39 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=b80eb8ef Update lustre patches Package-Manager: portage-2.2.0_alpha173 RepoMan-Options: --force --- sys-cluster/lustre/ChangeLog | 17 +++ ...ld-make-AC-check-for-linux-arch-sandbox-f.patch | 4 +- ...nel-sock_map_fd-replaced-by-sock_alloc_fi.patch | 137 +++++++++++++++++++ ...cfs-use-sock_alloc_file-instead-of-sock_m.patch | 124 ----------------- ...pat-posix_acl_-to-from-_xattr-take-user_n.patch | 4 +- ...004-LU-2800-llite-introduce-local-getname.patch | 4 +- ...-kernel-Kernel-update-for-3.7.2-201.fc18.patch} | 143 +++++++++++-------- ...50-kernel-3.8-upstream-removes-vmtruncate.patch | 10 +- ...-2850-kernel-3.8-upstream-kills-daemonize.patch | 44 +----- .../files/0008-LU-2987-llite-rcu-free-inode.patch | 10 +- ...rnel-3.9-hlist_for_each_entry-uses-3-args.patch | 115 ---------------- ...-build-zfs-0.6.1-kmod-dkms-compatibility.patch} | 104 +++++++++++++- ...50-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch | 82 ----------- sys-cluster/lustre/lustre-9999.ebuild | 8 +- 14 files changed, 361 insertions(+), 445 deletions(-) diff --git a/sys-cluster/lustre/ChangeLog b/sys-cluster/lustre/ChangeLog index d65f91b..32b0e92 100644 --- a/sys-cluster/lustre/ChangeLog +++ b/sys-cluster/lustre/ChangeLog @@ -2,6 +2,23 @@ # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 16 Apr 2013; Alexey Shvetsov + +files/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch, + +files/0005-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch, + +files/0009-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch, + -files/0002-LU-2800-libcfs-use-sock_alloc_file-instead-of-sock_m.patch, + -files/0005-LU-2850-build-check-header-files-in-generated-uapi-d.patch, + -files/0009-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch, + -files/0010-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch, + -files/0011-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch, + files/0001-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch, + files/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch, + files/0004-LU-2800-llite-introduce-local-getname.patch, + files/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch, + files/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch, + files/0008-LU-2987-llite-rcu-free-inode.patch, lustre-9999.ebuild: + Update lustre patches + 16 Apr 2013; Alexey Shvetsov lustre-9999.ebuild: Update lustre deps diff --git a/sys-cluster/lustre/files/0001-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch b/sys-cluster/lustre/files/0001-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch index 254e228..3c5b3f8 100644 --- a/sys-cluster/lustre/files/0001-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch +++ b/sys-cluster/lustre/files/0001-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch @@ -1,7 +1,7 @@ -From 6e54f97374f158165cc591c3c41d3db506da26ba Mon Sep 17 00:00:00 2001 +From cd588ca78ac730769a98c105e7f878b3a712116b Mon Sep 17 00:00:00 2001 From: Alexey Shvetsov Date: Mon, 18 Mar 2013 16:22:27 +0400 -Subject: [PATCH 01/11] LU-2982 build: make AC check for linux arch sandbox +Subject: [PATCH 1/9] LU-2982 build: make AC check for linux arch sandbox friendly this commit makes AC check for linux kernel arch sandbox friendly 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 new file mode 100644 index 0000000..836bd9f --- /dev/null +++ b/sys-cluster/lustre/files/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch @@ -0,0 +1,137 @@ +From 96f2fa9ccf8fe00d4b0bdb79f6821ccc140fa87c Mon Sep 17 00:00:00 2001 +From: yangsheng +Date: Mon, 8 Apr 2013 21:14:09 +0800 +Subject: [PATCH 2/9] LU-2686 kernel: sock_map_fd() replaced by + sock_alloc_file() + +Use sock_alloc_file() replace sock_map_fd(). + +Signed-off-by: yang sheng +Change-Id: I04cbcd651689af6b82b48ba5d49ddbf99a6758bf +--- + libcfs/autoconf/lustre-libcfs.m4 | 27 ++++++++++++++++++++++++ + libcfs/libcfs/linux/linux-tcpip.c | 44 +++++++++++++++++++++++---------------- + 2 files changed, 53 insertions(+), 18 deletions(-) + +diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 +index 312542d..4545a7a 100644 +--- a/libcfs/autoconf/lustre-libcfs.m4 ++++ b/libcfs/autoconf/lustre-libcfs.m4 +@@ -793,6 +793,31 @@ LB_LINUX_TRY_COMPILE([ + ]) + + # ++# FC18 3.7.2-201 unexport sock_map_fd() change to ++# use sock_alloc_file(). ++# upstream commit 56b31d1c9f1e6a3ad92e7bfe252721e05d92b285 ++# ++AC_DEFUN([LIBCFS_SOCK_ALLOC_FILE], ++[AC_MSG_CHECKING([sock_alloc_file is exported]) ++LB_CHECK_SYMBOL_EXPORT([sock_alloc_file], [net/socket.c],[ ++ LB_LINUX_TRY_COMPILE([ ++ #include ++ ],[ ++ sock_alloc_file(NULL, 0, NULL); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_SOCK_ALLOC_FILE_3ARGS, 1, ++ [sock_alloc_file takes 3 arguments]) ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_SOCK_ALLOC_FILE, 1, ++ [sock_alloc_file is exported]) ++ ]) ++],[ ++]) ++]) ++ ++# + # LIBCFS_PROG_LINUX + # + # LNet linux kernel checks +@@ -850,6 +875,8 @@ LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE + LC_SK_SLEEP + # 2.6.40 fc15 + LC_SHRINK_CONTROL ++# 3.7 ++LIBCFS_SOCK_ALLOC_FILE + ]) + + # +diff --git a/libcfs/libcfs/linux/linux-tcpip.c b/libcfs/libcfs/linux/linux-tcpip.c +index 0a31b55..3be0f68 100644 +--- a/libcfs/libcfs/linux/linux-tcpip.c ++++ b/libcfs/libcfs/linux/linux-tcpip.c +@@ -47,11 +47,11 @@ + int + libcfs_sock_ioctl(int cmd, unsigned long arg) + { +- mm_segment_t oldmm = get_fs(); +- struct socket *sock; +- int fd; +- int rc; +- struct file *sock_filp; ++ mm_segment_t oldmm = get_fs(); ++ struct socket *sock; ++ int fd = -1; ++ int rc; ++ struct file *sock_filp; + + rc = sock_create (PF_INET, SOCK_STREAM, 0, &sock); + if (rc != 0) { +@@ -59,21 +59,27 @@ libcfs_sock_ioctl(int cmd, unsigned long arg) + return rc; + } + +-#ifdef HAVE_SOCK_MAP_FD_2ARG +- fd = sock_map_fd(sock,0); ++#if !defined(HAVE_SOCK_ALLOC_FILE) && !defined(HAVE_SOCK_ALLOC_FILE_3ARGS) ++# ifdef HAVE_SOCK_MAP_FD_2ARG ++ fd = sock_map_fd(sock,0); ++# else ++ fd = sock_map_fd(sock); ++# endif ++ if (fd < 0) { ++ rc = fd; ++ goto out; ++ } ++ sock_filp = fget(fd); + #else +- fd = sock_map_fd(sock); ++# ifdef HAVE_SOCK_ALLOC_FILE_3ARGS ++ sock_filp = sock_alloc_file(sock, 0, NULL); ++# else ++ sock_filp = sock_alloc_file(sock, 0); ++# endif + #endif +- if (fd < 0) { +- rc = fd; +- sock_release(sock); +- goto out; +- } +- +- sock_filp = fget(fd); + if (!sock_filp) { + rc = -ENOMEM; +- goto out_fd; ++ goto out; + } + + set_fs(KERNEL_DS); +@@ -83,9 +89,11 @@ libcfs_sock_ioctl(int cmd, unsigned long arg) + + fput(sock_filp); + +- out_fd: +- sys_close(fd); + out: ++ if (fd >= 0) ++ sys_close(fd); ++ else ++ sock_release(sock); + return rc; + } + +-- +1.8.1.5 + diff --git a/sys-cluster/lustre/files/0002-LU-2800-libcfs-use-sock_alloc_file-instead-of-sock_m.patch b/sys-cluster/lustre/files/0002-LU-2800-libcfs-use-sock_alloc_file-instead-of-sock_m.patch deleted file mode 100644 index a8797a0..0000000 --- a/sys-cluster/lustre/files/0002-LU-2800-libcfs-use-sock_alloc_file-instead-of-sock_m.patch +++ /dev/null @@ -1,124 +0,0 @@ -From 18036cc8a9ddc00c269b9b3b7ea25529a0a25e9b Mon Sep 17 00:00:00 2001 -From: Jeff Mahoney -Date: Wed, 13 Feb 2013 02:45:16 -0500 -Subject: [PATCH 02/11] LU-2800 libcfs: use sock_alloc_file instead of - sock_map_fd - -v2.6.27 added a second argument to sock_map_fd. Earlier versions are -out of scope and we can remove the test for the number of arguments. - -Commit 56b31d1c (v3.7) made sock_map_fd() static and exported -sock_alloc_file() instead. For our purposes, we didn't want to expose -the file in the descriptor table anyway. - -Signed-off-by: Jeff Mahoney -Change-Id: I4e12da8c102b5d682db9658187330ae601b00a21 ---- - libcfs/autoconf/lustre-libcfs.m4 | 18 ++++++++++-------- - libcfs/libcfs/linux/linux-tcpip.c | 17 ++++++++++++----- - 2 files changed, 22 insertions(+), 13 deletions(-) - -diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 -index 312542d..380fd5b 100644 ---- a/libcfs/autoconf/lustre-libcfs.m4 -+++ b/libcfs/autoconf/lustre-libcfs.m4 -@@ -500,18 +500,19 @@ LB_LINUX_TRY_COMPILE([ - ]) - - # 2.6.27 have second argument to sock_map_fd --AC_DEFUN([LIBCFS_SOCK_MAP_FD_2ARG], --[AC_MSG_CHECKING([sock_map_fd have second argument]) -+# 3.7 (56b31d1c) un-exported sock_map_fd in favor of sock_alloc_file -+AC_DEFUN([LIBCFS_SOCK_ALLOC_FILE], -+[AC_MSG_CHECKING([sock_alloc_file is exported]) - LB_LINUX_TRY_COMPILE([ - #include - ],[ -- sock_map_fd(NULL, 0); -+ sock_alloc_file(NULL, 0, NULL); - ],[ -- AC_MSG_RESULT(yes) -- AC_DEFINE(HAVE_SOCK_MAP_FD_2ARG, 1, -- [sock_map_fd have second argument]) -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_SOCK_ALLOC_FILE, 1, -+ [sock_alloc_file is exported]) - ],[ -- AC_MSG_RESULT(NO) -+ AC_MSG_RESULT(NO) - ]) - ]) - -@@ -834,7 +835,6 @@ LIBCFS_CPU_TOPOLOGY - LIBCFS_STRUCT_SHASH_ALG - # 2.6.30 - LIBCFS_FUNC_UNSHARE_FS_STRUCT --LIBCFS_SOCK_MAP_FD_2ARG - # 2.6.31 - LIBCFS_HAVE_SET_MEMS_ALLOWED - # 2.6.32 -@@ -850,6 +850,8 @@ LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE - LC_SK_SLEEP - # 2.6.40 fc15 - LC_SHRINK_CONTROL -+# 3.7 -+LIBCFS_SOCK_ALLOC_FILE - ]) - - # -diff --git a/libcfs/libcfs/linux/linux-tcpip.c b/libcfs/libcfs/linux/linux-tcpip.c -index 0a31b55..b83ed84 100644 ---- a/libcfs/libcfs/linux/linux-tcpip.c -+++ b/libcfs/libcfs/linux/linux-tcpip.c -@@ -49,7 +49,9 @@ libcfs_sock_ioctl(int cmd, unsigned long arg) - { - mm_segment_t oldmm = get_fs(); - struct socket *sock; -+#ifndef HAVE_SOCK_ALLOC_FILE - int fd; -+#endif - int rc; - struct file *sock_filp; - -@@ -59,11 +61,8 @@ libcfs_sock_ioctl(int cmd, unsigned long arg) - return rc; - } - --#ifdef HAVE_SOCK_MAP_FD_2ARG -+#ifndef HAVE_SOCK_ALLOC_FILE - fd = sock_map_fd(sock,0); --#else -- fd = sock_map_fd(sock); --#endif - if (fd < 0) { - rc = fd; - sock_release(sock); -@@ -75,7 +74,13 @@ libcfs_sock_ioctl(int cmd, unsigned long arg) - rc = -ENOMEM; - goto out_fd; - } -- -+#else -+ sock_filp = sock_alloc_file(sock, 0, NULL); -+ if (IS_ERR(sock_filp)) { -+ rc = PTR_ERR(sock_filp); -+ goto out; -+ } -+#endif - set_fs(KERNEL_DS); - if (sock_filp->f_op->unlocked_ioctl) - rc = sock_filp->f_op->unlocked_ioctl(sock_filp, cmd, arg); -@@ -83,8 +88,10 @@ libcfs_sock_ioctl(int cmd, unsigned long arg) - - fput(sock_filp); - -+#ifndef HAVE_SOCK_ALLOC_FILE - out_fd: - sys_close(fd); -+#endif - out: - return rc; - } --- -1.8.1.5 - diff --git a/sys-cluster/lustre/files/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch b/sys-cluster/lustre/files/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch index f713d05..65db8d0 100644 --- a/sys-cluster/lustre/files/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch +++ b/sys-cluster/lustre/files/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch @@ -1,7 +1,7 @@ -From f2c24d99e4d2bd77411acc300d11ab70fc9d6abc Mon Sep 17 00:00:00 2001 +From f8338a543db484f72f221ac57444afb96a852cfb Mon Sep 17 00:00:00 2001 From: Jeff Mahoney Date: Wed, 20 Mar 2013 17:33:17 -0400 -Subject: [PATCH 03/11] LU-2850 compat: posix_acl_{to,from}_xattr take +Subject: [PATCH 3/9] LU-2850 compat: posix_acl_{to,from}_xattr take user_namespace Commit 5f3a4a28 (v3.7) added a struct user_namespace argument to diff --git a/sys-cluster/lustre/files/0004-LU-2800-llite-introduce-local-getname.patch b/sys-cluster/lustre/files/0004-LU-2800-llite-introduce-local-getname.patch index 859adce..72c0d64 100644 --- a/sys-cluster/lustre/files/0004-LU-2800-llite-introduce-local-getname.patch +++ b/sys-cluster/lustre/files/0004-LU-2800-llite-introduce-local-getname.patch @@ -1,7 +1,7 @@ -From 29d6316336d5673e8c90d819b82fb202357ba9e2 Mon Sep 17 00:00:00 2001 +From 954e9511b7f162f4cee82b9c03d8fff7adc09e64 Mon Sep 17 00:00:00 2001 From: Jeff Mahoney Date: Tue, 19 Mar 2013 21:18:32 -0400 -Subject: [PATCH 04/11] LU-2800 llite: introduce local getname() +Subject: [PATCH 4/9] LU-2800 llite: introduce local getname() Commit 8e377d15 (v3.7) unexported getname and putname. Although getname was re-exported, putname was not. All we really need is diff --git a/sys-cluster/lustre/files/0005-LU-2850-build-check-header-files-in-generated-uapi-d.patch b/sys-cluster/lustre/files/0005-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch similarity index 53% rename from sys-cluster/lustre/files/0005-LU-2850-build-check-header-files-in-generated-uapi-d.patch rename to sys-cluster/lustre/files/0005-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch index a0d38e2..3aac639 100644 --- a/sys-cluster/lustre/files/0005-LU-2850-build-check-header-files-in-generated-uapi-d.patch +++ b/sys-cluster/lustre/files/0005-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch @@ -1,23 +1,22 @@ -From a0e92d4f975aedaa563d0a9f12ef0774d7cde352 Mon Sep 17 00:00:00 2001 -From: Peng Tao -Date: Wed, 27 Feb 2013 18:29:34 +0800 -Subject: [PATCH 05/11] LU-2850 build: check header files in generated uapi dir +From 40fc79f1ea2b8ce3ab895af2a0c6dcf2c1a3ab04 Mon Sep 17 00:00:00 2001 +From: yangsheng +Date: Mon, 8 Apr 2013 21:04:22 +0800 +Subject: [PATCH 5/9] LU-2686 kernel: Kernel update for 3.7.2-201.fc18 -Upstream moved UAPI headers into generated/uapi directory since -v3.7. We need to check/include necessary header files there. +Add uapi header to include search path. -Signed-off-by: Peng Tao -Change-Id: Ib104919189ebc0af7d3b5e9ca3b866b3b98be3dc +Signed-off-by: yang sheng +Change-Id: Id90e091fef63ebf5bb8e7765969aa3148cc31aa2 --- autoMakefile.am | 2 +- - config/lustre-build-linux.m4 | 14 ++++++++------ - ldiskfs/config/ldiskfs-build.m4 | 14 ++++++++------ - lustre/autoconf/lustre-core.m4 | 2 +- - lustre/scripts/version_tag.pl | 1 + - 5 files changed, 19 insertions(+), 14 deletions(-) + config/lustre-build-linux.m4 | 21 +++++++++++++-------- + ldiskfs/config/ldiskfs-build.m4 | 22 ++++++++++++++-------- + lustre/autoconf/lustre-core.m4 | 1 + + lustre/scripts/version_tag.pl | 4 +++- + 5 files changed, 32 insertions(+), 18 deletions(-) diff --git a/autoMakefile.am b/autoMakefile.am -index 79bcd65..93608de 100644 +index 79bcd65..bfec407 100644 --- a/autoMakefile.am +++ b/autoMakefile.am @@ -84,7 +84,7 @@ all-am: modules @@ -25,12 +24,12 @@ index 79bcd65..93608de 100644 $(MAKE) CC="$(CC)" -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 -I$$(srctree)/arch/$$(SRCARCH)/include/generated/uapi -I$$(srctree)/arch/$$(SRCARCH)/include/uapi -Iinclude -Iinclude/uapi -Iinclude/generated -Iinclude/generated/uapi $$(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 244d398..b995875 100644 +index 244d398..0ab7cdb 100644 --- a/config/lustre-build-linux.m4 +++ b/config/lustre-build-linux.m4 @@ -44,7 +44,7 @@ AC_MSG_CHECKING([for Linux release]) @@ -38,121 +37,145 @@ index 244d398..b995875 100644 LINUXRELEASEHEADER=$AUTOCONF_HDIR/utsrelease.h else - LINUXRELEASEHEADER=linux/version.h -+ LINUXRELEASEHEADER=$LINUXVERSION_HDIR/version.h ++ LINUXRELEASEHEADER=$VERSION_HDIR/version.h fi LB_LINUX_TRY_MAKE([ #include <$LINUXRELEASEHEADER> +@@ -65,7 +65,7 @@ LB_LINUX_TRY_MAKE([ + rm -f build/conftest.i + if test x$LINUXRELEASE = x ; then + AC_MSG_RESULT([unknown]) +- AC_MSG_ERROR([Could not determine Linux release version from linux/version.h.]) ++ AC_MSG_ERROR([Could not determine Linux release version from $LINUXRELEASEHEADER.]) + fi + AC_MSG_RESULT([$LINUXRELEASE]) + AC_SUBST(LINUXRELEASE) @@ -96,7 +96,7 @@ AC_SUBST(RELEASE) # check is redhat/suse kernels AC_MSG_CHECKING([that RedHat kernel]) LB_LINUX_TRY_COMPILE([ - #include -+ #include <$LINUXVERSION_HDIR/version.h> ++ #include <$VERSION_HDIR/version.h> ],[ #ifndef RHEL_RELEASE_CODE #error "not redhat kernel" -@@ -222,8 +222,10 @@ LB_CHECK_FILE([$LINUX_OBJ/include/generated/autoconf.h],[AUTOCONF_HDIR=generated +@@ -222,9 +222,13 @@ LB_CHECK_FILE([$LINUX_OBJ/include/generated/autoconf.h],[AUTOCONF_HDIR=generated [LB_CHECK_FILE([$LINUX_OBJ/include/linux/autoconf.h],[AUTOCONF_HDIR=linux], [AC_MSG_ERROR([Run make config in $LINUX.])])]) AC_SUBST(AUTOCONF_HDIR) -LB_CHECK_FILE([$LINUX_OBJ/include/linux/version.h],[], - [AC_MSG_ERROR([Run make config in $LINUX.])]) -+LB_CHECK_FILE([$LINUX_OBJ/include/generated/uapi/linux/version.h],[LINUXVERSION_HDIR=generated/uapi/linux], -+ [LB_CHECK_FILE([$LINUX_OBJ/include/linux/version.h],[LINUXVERSION_HDIR=linux], -+ [AC_MSG_ERROR([Run make config in $LINUX.])])]) -+ AC_SUBST(LINUXVERSION_HDIR) - +- ++LB_CHECK_FILE([$LINUX_OBJ/include/linux/version.h], [VERSION_HDIR=linux], ++ [LB_CHECK_FILE([$LINUX_OBJ/include/generated/uapi/linux/version.h], ++ [VERSION_HDIR=generated/uapi/linux], ++ [AC_MSG_ERROR([Run make config in $LINUX.])]) ++ ]) ++ AC_SUBST(VERSION_HDIR) ++ # ----------- kconfig.h exists --------------- # kernel 3.1, $LINUX/include/linux/kconfig.h is added -@@ -240,7 +242,7 @@ LB_CHECK_FILE([$LINUX_OBJ/include/linux/kconfig.h], + # see kernel commit 2a11c8ea20bf850b3a2c60db8c2e7497d28aba99 +@@ -240,7 +244,7 @@ LB_CHECK_FILE([$LINUX_OBJ/include/linux/kconfig.h], # tarred up the tree and ran make dep etc. in it, then # version.h gets overwritten with a standard linux one. -if grep rhconfig $LINUX_OBJ/include/linux/version.h >/dev/null ; then -+if grep rhconfig $LINUX_OBJ/include/$LINUXVERSION_HDIR/version.h >/dev/null ; then ++if grep rhconfig $LINUX_OBJ/include/$VERSION_HDIR/version.h >/dev/null ; then # This is a clean kernel-source tree, we need to # enable extensive workarounds to get this to build # modules -@@ -312,7 +314,7 @@ $2 +@@ -312,7 +316,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/arch/`echo $target_cpu|sed -e 's/powerpc64/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include/uapi -I$LINUX/arch/`echo $target_cpu|sed -e 's/powerpc64/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include/generated/uapi -I$LINUX_OBJ/include -I$LINUX/include -I$LINUX_OBJ/include2 -I$LINUX/include/uapi -I$LINUX/include/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])], ++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])], [$4], [_AC_MSG_LOG_CONFTEST m4_ifvaln([$5],[$5])dnl]) diff --git a/ldiskfs/config/ldiskfs-build.m4 b/ldiskfs/config/ldiskfs-build.m4 -index 2feec80..4a4ecf4 100644 +index 2feec80..aee760e 100644 --- a/ldiskfs/config/ldiskfs-build.m4 +++ b/ldiskfs/config/ldiskfs-build.m4 -@@ -1,11 +1,11 @@ - AC_DEFUN([LDISKFS_AC_LINUX_VERSION], [ - AC_MSG_CHECKING([kernel source version]) - -- utsrelease1=${LINUX_OBJ}/include/linux/version.h -+ utsrelease1=${LINUX_OBJ}/include/$LINUXVERSION_HDIR/version.h +@@ -4,12 +4,12 @@ AC_DEFUN([LDISKFS_AC_LINUX_VERSION], [ + utsrelease1=${LINUX_OBJ}/include/linux/version.h utsrelease2=${LINUX_OBJ}/include/linux/utsrelease.h utsrelease3=${LINUX_OBJ}/include/generated/utsrelease.h - AS_IF([test -r ${utsrelease1} && fgrep -q UTS_RELEASE ${utsrelease1}], [ +- AS_IF([test -r ${utsrelease1} && fgrep -q UTS_RELEASE ${utsrelease1}], [ - utsrelease=linux/version.h -+ utsrelease=$LINUXVERSION_HDIR/version.h ++ AS_IF([test -r ${utsrelease3} && fgrep -q UTS_RELEASE ${utsrelease3}], [ ++ utsrelease=generated/utsrelease.h ], [test -r ${utsrelease2} && fgrep -q UTS_RELEASE ${utsrelease2}], [ utsrelease=linux/utsrelease.h - ], [test -r ${utsrelease3} && fgrep -q UTS_RELEASE ${utsrelease3}], [ +- ], [test -r ${utsrelease3} && fgrep -q UTS_RELEASE ${utsrelease3}], [ +- utsrelease=generated/utsrelease.h ++ ], [test -r ${utsrelease1} && fgrep -q UTS_RELEASE ${utsrelease1}], [ ++ utsrelease=linux/version.h + ]) + + AS_IF([test "${utsrelease}"], [ @@ -64,7 +64,7 @@ AC_SUBST(RELEASE) # check is redhat/suse kernels AC_MSG_CHECKING([that RedHat kernel]) LB_LINUX_TRY_COMPILE([ - #include -+ #include <$LINUXVERSION_HDIR/version.h> ++ #include <$VERSION_HDIR/version.h> ],[ #ifndef RHEL_RELEASE_CODE #error "not redhat kernel" -@@ -190,8 +190,10 @@ LB_CHECK_FILE([$LINUX_OBJ/include/generated/autoconf.h],[AUTOCONF_HDIR=generated +@@ -190,8 +190,14 @@ LB_CHECK_FILE([$LINUX_OBJ/include/generated/autoconf.h],[AUTOCONF_HDIR=generated [LB_CHECK_FILE([$LINUX_OBJ/include/linux/autoconf.h],[AUTOCONF_HDIR=linux], [AC_MSG_ERROR([Run make config in $LINUX.])])]) AC_SUBST(AUTOCONF_HDIR) -LB_CHECK_FILE([$LINUX_OBJ/include/linux/version.h],[], - [AC_MSG_ERROR([Run make config in $LINUX.])]) -+LB_CHECK_FILE([$LINUX_OBJ/include/generated/uapi/linux/version.h],[LINUXVERSION_HDIR=generated/uapi/linux], -+ [LB_CHECK_FILE([$LINUX_OBJ/include/linux/version.h],[LINUXVERSION_HDIR=linux], -+ [AC_MSG_ERROR([Run make config in $LINUX.])])]) -+ AC_SUBST(LINUXVERSION_HDIR) ++LB_CHECK_FILE([$LINUX_OBJ/include/linux/version.h], [VERSION_HDIR=linux], ++ [LB_CHECK_FILE([$LINUX_OBJ/include/generated/uapi/linux/version.h], ++ [VERSION_HDIR=generated/uapi/linux], ++ [AC_MSG_ERROR([Run make config in $LINUX.])]) ++ ]) ++ AC_SUBST(VERSION_HDIR) ++ ++ # ----------- kconfig.h exists --------------- # kernel 3.1, $LINUX/include/linux/kconfig.h is added -@@ -208,7 +210,7 @@ LB_CHECK_FILE([$LINUX_OBJ/include/linux/kconfig.h], +@@ -208,7 +214,7 @@ LB_CHECK_FILE([$LINUX_OBJ/include/linux/kconfig.h], # tarred up the tree and ran make dep etc. in it, then # version.h gets overwritten with a standard linux one. -if grep rhconfig $LINUX_OBJ/include/linux/version.h >/dev/null ; then -+if grep rhconfig $LINUX_OBJ/include/$LINUXVERSION_HDIR/version.h >/dev/null ; then ++if grep rhconfig $LINUX_OBJ/include/$VERSION_HDIR/version.h >/dev/null ; then # This is a clean kernel-source tree, we need to # enable extensive workarounds to get this to build # modules diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 -index b9ff1ca..c13ad6a 100644 +index b9ff1ca..9447b2b 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 -@@ -319,7 +319,7 @@ AC_DEFUN([LC_BIT_SPINLOCK_H], - AC_DEFUN([LC_CONST_ACL_SIZE], - [AC_MSG_CHECKING([calc acl size]) - tmp_flags="$CFLAGS" --CFLAGS="$CFLAGS -I$LINUX/include -I$LINUX_OBJ/include -I$LINUX_OBJ/include2 -I$LINUX/arch/`echo $target_cpu|sed -e 's/powerpc64/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include -include $AUTOCONF_HDIR/autoconf.h $EXTRA_KCFLAGS" -+CFLAGS="$CFLAGS -I$LINUX/include -I$LINUX_OBJ/include -I$LINUX_OBJ/include/uapi -I$LINUX_OBJ/include2 -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/powerpc64/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include/uapi -include $AUTOCONF_HDIR/autoconf.h $EXTRA_KCFLAGS" - AC_TRY_RUN([ - #define __KERNEL__ - #include +@@ -328,6 +328,7 @@ AC_TRY_RUN([ + #define __LINUX_POSIX_ACL_H + + #ifdef CONFIG_FS_POSIX_ACL ++ struct user_namespace; + # include + #endif + diff --git a/lustre/scripts/version_tag.pl b/lustre/scripts/version_tag.pl -index 61796c9..942e54f 100644 +index 61796c9..07cbdf8 100644 --- a/lustre/scripts/version_tag.pl +++ b/lustre/scripts/version_tag.pl -@@ -45,6 +45,7 @@ sub get_kernver($$) +@@ -43,8 +43,10 @@ sub get_kernver($$) + my $objdir = shift; + my $ver = new IO::File; - if (!$ver->open("$objdir/include/linux/utsrelease.h") && +- if (!$ver->open("$objdir/include/linux/utsrelease.h") && ++ if (!$ver->open("$objdir/include/generated/utsrelease.h") && ++ !$ver->open("$objdir/include/linux/utsrelease.h") && !$ver->open("$objdir/include/linux/version.h") && -+ !$ver->open("$objdir/include/generated/uapi/linux/version.h") && ++ !$ver->open("$dir/include/generated/utsrelease.h") && !$ver->open("$dir/include/linux/utsrelease.h") && !$ver->open("$dir/include/linux/version.h")) { die "Run make dep on '$dir'\n"; diff --git a/sys-cluster/lustre/files/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch b/sys-cluster/lustre/files/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch index c0099c3..d4f0e73 100644 --- a/sys-cluster/lustre/files/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch +++ b/sys-cluster/lustre/files/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch @@ -1,7 +1,7 @@ -From de4775789c14be8dce4b8dbb168c06c0055d1ca2 Mon Sep 17 00:00:00 2001 +From e6813c71a86696b6ba333d2d0af74f4bcc6d4468 Mon Sep 17 00:00:00 2001 From: Alexey Shvetsov Date: Wed, 27 Mar 2013 08:49:01 +0400 -Subject: [PATCH 06/11] LU-2850 kernel: 3.8 upstream removes vmtruncate() +Subject: [PATCH 6/9] LU-2850 kernel: 3.8 upstream removes vmtruncate() vmtruncate() is removed since upstream commit b9f61c3. We can open code is for llite though. @@ -14,10 +14,10 @@ Change-Id: I9d4f43a5c181f16482b4caa021ba7a09ee52b600 2 files changed, 32 insertions(+) diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 -index c13ad6a..604e00b 100644 +index 9447b2b..485b370 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 -@@ -2252,6 +2252,25 @@ LB_LINUX_TRY_COMPILE([ +@@ -2253,6 +2253,25 @@ LB_LINUX_TRY_COMPILE([ ]) # @@ -43,7 +43,7 @@ index c13ad6a..604e00b 100644 # LC_PROG_LINUX # # Lustre linux kernel checks -@@ -2435,6 +2454,10 @@ AC_DEFUN([LC_PROG_LINUX], +@@ -2436,6 +2455,10 @@ AC_DEFUN([LC_PROG_LINUX], # 3.7 LC_HAVE_POSIXACL_USER_NS diff --git a/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch b/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch index c8207a0..2ab2042 100644 --- a/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch +++ b/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch @@ -1,22 +1,17 @@ -From 08c0e5bebb11c18370cce8b437d8e73b9d5d49db Mon Sep 17 00:00:00 2001 +From 1ab28dd30f7303302d4b5825d7b0e0417a339eee Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Mon, 18 Mar 2013 10:47:57 +0800 -Subject: [PATCH 07/11] LU-2850 kernel: 3.8 upstream kills daemonize() +Subject: [PATCH 7/9] LU-2850 kernel: 3.8 upstream kills daemonize() kernel_thread() is a low level kernel function. Instead of calling kernel_thread() and relying on daemonize() to create new kernel threads, we should really switch to kthread_run() and elimilate daemonize(). -Conflicts: - lustre/obdclass/llog_cat.c - lustre/ptlrpc/recov_thread.c - Signed-off-by: Peng Tao -Signed-off-by: Alexey Shvetsov Change-Id: I9f977bfc5d58192957d8c8d634204f4910edfa2a --- - libcfs/autoconf/lustre-libcfs.m4 | 37 -------------- + libcfs/autoconf/lustre-libcfs.m4 | 19 ------- libcfs/include/libcfs/darwin/darwin-prim.h | 6 +-- libcfs/include/libcfs/libcfs.h | 13 +---- libcfs/include/libcfs/linux/linux-prim.h | 9 ---- @@ -84,39 +79,14 @@ Change-Id: I9f977bfc5d58192957d8c8d634204f4910edfa2a lustre/quota/qmt_lock.c | 17 +++---- lustre/quota/qsd_reint.c | 6 +-- lustre/quota/qsd_writeback.c | 16 +++--- - 68 files changed, 515 insertions(+), 763 deletions(-) + 68 files changed, 515 insertions(+), 745 deletions(-) delete mode 100644 libcfs/libcfs/linux/linux-lwt.c diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 -index 380fd5b..a1ed4b0 100644 +index 4545a7a..03a428c 100644 --- a/libcfs/autoconf/lustre-libcfs.m4 +++ b/libcfs/autoconf/lustre-libcfs.m4 -@@ -639,24 +639,6 @@ LB_LINUX_TRY_COMPILE([ - ]) - ]) - --AC_DEFUN([LIBCFS_HAVE_OOM_H], --[LB_CHECK_FILE([$LINUX/include/linux/oom.h], [ -- AC_DEFINE(HAVE_LINUX_OOM_H, 1, -- [kernel has include/oom.h]) --],[ -- AC_MSG_RESULT([no]) --]) --]) -- --AC_DEFUN([LIBCFS_HAVE_KEYTYPE_H], --[LB_CHECK_FILE([$LINUX/include/linux/key-type.h], [ -- AC_DEFINE(HAVE_LINUX_KEYTYPE_H, 1, -- [kernel has include/key-type.h]) --],[ -- AC_MSG_RESULT([no]) --]) --]) -- - # - # check set_mems_allowed - # 2.6.31 adds function set_mems_allowed in cpuset.h -@@ -697,23 +679,6 @@ LB_LINUX_TRY_COMPILE([ +@@ -696,23 +696,6 @@ LB_LINUX_TRY_COMPILE([ ]) ]) @@ -140,7 +110,7 @@ index 380fd5b..a1ed4b0 100644 # # 2.6.33 no longer has ctl_name & strategy field in struct ctl_table. # -@@ -840,8 +805,6 @@ LIBCFS_HAVE_SET_MEMS_ALLOWED +@@ -865,8 +848,6 @@ LIBCFS_HAVE_SET_MEMS_ALLOWED # 2.6.32 LIBCFS_STACKTRACE_OPS_HAVE_WALK_STACK LC_SHRINKER_WANT_SHRINK_PTR diff --git a/sys-cluster/lustre/files/0008-LU-2987-llite-rcu-free-inode.patch b/sys-cluster/lustre/files/0008-LU-2987-llite-rcu-free-inode.patch index 915e072..bc9a0ef 100644 --- a/sys-cluster/lustre/files/0008-LU-2987-llite-rcu-free-inode.patch +++ b/sys-cluster/lustre/files/0008-LU-2987-llite-rcu-free-inode.patch @@ -1,7 +1,7 @@ -From 1abfc6069f78a8efd6002dfe09b6a8196f47552b Mon Sep 17 00:00:00 2001 +From eb03fd5e6cfb84118903ed18fe77a77c4935c662 Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Tue, 19 Mar 2013 14:04:47 +0800 -Subject: [PATCH 08/11] LU-2987 llite: rcu-free inode +Subject: [PATCH 8/9] LU-2987 llite: rcu-free inode Since 2.6.38, inode.i_rcu was added and file system .destory_inode should rcu-free inodes. @@ -14,10 +14,10 @@ Change-Id: Idc12c94fd1bf9c99756c9bcb2d07f3061e6dad5a 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 -index 604e00b..bf83193 100644 +index 485b370..c36b055 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 -@@ -1682,6 +1682,26 @@ LB_LINUX_TRY_COMPILE([ +@@ -1683,6 +1683,26 @@ LB_LINUX_TRY_COMPILE([ ]) # @@ -44,7 +44,7 @@ index 604e00b..bf83193 100644 # 2.6.38 export blkdev_get_by_dev # AC_DEFUN([LC_BLKDEV_GET_BY_DEV], -@@ -2408,6 +2428,7 @@ AC_DEFUN([LC_PROG_LINUX], +@@ -2409,6 +2429,7 @@ AC_DEFUN([LC_PROG_LINUX], LC_GENERIC_PERMISSION LC_QUOTA_ON_USE_PATH LC_DCACHE_LOCK diff --git a/sys-cluster/lustre/files/0009-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch b/sys-cluster/lustre/files/0009-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch deleted file mode 100644 index faa30e6..0000000 --- a/sys-cluster/lustre/files/0009-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 8ef04c8c6d6d8e9e5ba187ba1e88965aabf9794c Mon Sep 17 00:00:00 2001 -From: Alexey Shvetsov -Date: Sun, 31 Mar 2013 19:32:30 +0400 -Subject: [PATCH 09/11] LU-2850 kernel: 3.9 hlist_for_each_entry uses 3 args - -In 3.9 hlist_for_each_entry use 3 args since commit - -commit b67bfe0d42cac56c512dd5da4b1b347a23f4b70a -Author: Sasha Levin -Date: Wed Feb 27 17:06:00 2013 -0800 - - hlist: drop the node parameter from iterators - -Signed-off-by: Alexey Shvetsov -Change-Id: I8f38d562607de21771b03575e37cc0498867a570 ---- - libcfs/include/libcfs/list.h | 10 ++++++++++ - lustre/autoconf/lustre-core.m4 | 26 ++++++++++++++++++++++++++ - lustre/include/linux/lustre_compat25.h | 5 +++++ - 3 files changed, 41 insertions(+) - -diff --git a/libcfs/include/libcfs/list.h b/libcfs/include/libcfs/list.h -index be06e74..b747804 100644 ---- a/libcfs/include/libcfs/list.h -+++ b/libcfs/include/libcfs/list.h -@@ -91,14 +91,24 @@ typedef struct hlist_node cfs_hlist_node_t; - #define cfs_hlist_for_each(pos, head) hlist_for_each(pos, head) - #define cfs_hlist_for_each_safe(pos, n, head) \ - hlist_for_each_safe(pos, n, head) -+#ifdef HAVE_HLIST_FOR_EACH_3ARG -+#define cfs_hlist_for_each_entry(tpos, pos, head, member) \ -+ pos = NULL; hlist_for_each_entry(tpos, head, member) -+#else - #define cfs_hlist_for_each_entry(tpos, pos, head, member) \ - hlist_for_each_entry(tpos, pos, head, member) -+#endif - #define cfs_hlist_for_each_entry_continue(tpos, pos, member) \ - hlist_for_each_entry_continue(tpos, pos, member) - #define cfs_hlist_for_each_entry_from(tpos, pos, member) \ - hlist_for_each_entry_from(tpos, pos, member) -+#ifdef HAVE_HLIST_FOR_EACH_3ARG -+#define cfs_hlist_for_each_entry_safe(tpos, pos, n, head, member) \ -+ pos = NULL; hlist_for_each_entry_safe(tpos, n, head, member) -+#else - #define cfs_hlist_for_each_entry_safe(tpos, pos, n, head, member) \ - hlist_for_each_entry_safe(tpos, pos, n, head, member) -+#endif - - #define CFS_HLIST_HEAD_INIT HLIST_HEAD_INIT - #define CFS_HLIST_HEAD(n) HLIST_HEAD(n) -diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 -index bf83193..5c1fee2 100644 ---- a/lustre/autoconf/lustre-core.m4 -+++ b/lustre/autoconf/lustre-core.m4 -@@ -2291,6 +2291,29 @@ LB_LINUX_TRY_COMPILE([ - ]) - - # -+# 3.9 uses hlist_for_each_entry with 3 args -+# b67bfe0d42cac56c512dd5da4b1b347a23f4b70a -+# -+AC_DEFUN([LC_HAVE_HLIST_FOR_EACH_3ARG], -+[AC_MSG_CHECKING([if hlist_for_each_entry has 3 args]) -+LB_LINUX_TRY_COMPILE([ -+ #include -+ #include -+],[ -+ struct inode *inode; -+ struct dentry *dentry; -+ hlist_for_each_entry(dentry, &inode->i_dentry, d_alias) { -+ continue; -+ } -+],[ -+ AC_DEFINE(HAVE_HLIST_FOR_EACH_3ARG, 1, [3 args]) -+ AC_MSG_RESULT([yes]) -+],[ -+ AC_MSG_RESULT([no]) -+]) -+]) -+ -+# - # LC_PROG_LINUX - # - # Lustre linux kernel checks -@@ -2479,6 +2502,9 @@ AC_DEFUN([LC_PROG_LINUX], - # 3.8 - LC_HAVE_MM_VMTRUNCATE - -+ # 3.9 -+ LC_HAVE_HLIST_FOR_EACH_3ARG -+ - # - if test x$enable_server = xyes ; then - AC_DEFINE(HAVE_SERVER_SUPPORT, 1, [support server]) -diff --git a/lustre/include/linux/lustre_compat25.h b/lustre/include/linux/lustre_compat25.h -index ca485cd..ecd689f 100644 ---- a/lustre/include/linux/lustre_compat25.h -+++ b/lustre/include/linux/lustre_compat25.h -@@ -620,8 +620,13 @@ static inline int ll_quota_off(struct super_block *sb, int off, int remount) - #define ll_d_hlist_empty(list) hlist_empty(list) - #define ll_d_hlist_entry(ptr, type, name) hlist_entry(ptr.first, type, name) - #define ll_d_hlist_for_each(tmp, i_dentry) hlist_for_each(tmp, i_dentry) -+#ifdef HAVE_HLIST_FOR_EACH_3ARG -+#define ll_d_hlist_for_each_entry(dentry, p, i_dentry, alias) \ -+ p = NULL; hlist_for_each_entry(dentry, i_dentry, alias) -+#else - #define ll_d_hlist_for_each_entry(dentry, p, i_dentry, alias) \ - hlist_for_each_entry(dentry, p, i_dentry, alias) -+#endif - #else - #define ll_d_hlist_node list_head - #define ll_d_hlist_empty(list) list_empty(list) --- -1.8.1.5 - diff --git a/sys-cluster/lustre/files/0011-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 similarity index 87% rename from sys-cluster/lustre/files/0011-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch rename to sys-cluster/lustre/files/0009-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch index de36db2..be8f0da 100644 --- a/sys-cluster/lustre/files/0011-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 @@ -1,7 +1,7 @@ -From 1542e6ffacd11b54b5ffe71b0a107be0ce20732d Mon Sep 17 00:00:00 2001 +From eb4e257e6d9bab8401bc746a3d00c80be5748e92 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Thu, 28 Mar 2013 12:18:27 -0700 -Subject: [PATCH 11/11] LU-3117 build: zfs-0.6.1 kmod+dkms compatibility +Subject: [PATCH 9/9] 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 @@ -50,14 +50,14 @@ Signed-off-by: Nathaniel Clark autoMakefile.am | 2 +- config/lustre-build-ldiskfs.m4 | 1 - config/lustre-build-zfs.m4 | 731 ++++++++++++++++++----------------------- - contrib/lbuild/lbuild | 2 + + contrib/lbuild/lbuild | 72 +--- lustre.spec.in | 2 +- lustre/osd-zfs/Makefile.in | 3 +- lustre/utils/Makefile.am | 6 +- - 7 files changed, 326 insertions(+), 421 deletions(-) + 7 files changed, 340 insertions(+), 477 deletions(-) diff --git a/autoMakefile.am b/autoMakefile.am -index 93608de..5880d1c 100644 +index bfec407..27e16c1 100644 --- a/autoMakefile.am +++ b/autoMakefile.am @@ -1,4 +1,4 @@ @@ -847,9 +847,22 @@ index bfc647f..507afd8 100644 + AM_CONDITIONAL(ZFS_ENABLED, test x$enable_zfs = xyes) ]) diff --git a/contrib/lbuild/lbuild b/contrib/lbuild/lbuild -index f389505..3eda63f 100755 +index f389505..d22a9f6 100755 --- a/contrib/lbuild/lbuild +++ b/contrib/lbuild/lbuild +@@ -1009,10 +1009,10 @@ build_spl_zfs() { + local pkg + for pkg in spl zfs; do + +- local rpmmod spldir ++ local dkmspkg + + [ "$pkg" == "zfs" ] && spldir="$(ls -d $TOPDIR/usr/src/spl-*/*)" +- rpmmod=$pkg-modules ++ dkmspkg=$pkg-dkms + + # need to fetch the repo in order to build it. + # default to github but allow override @@ -1020,6 +1020,8 @@ build_spl_zfs() { pushd $pkg || return 255 @@ -859,6 +872,85 @@ index f389505..3eda63f 100755 # 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} \ +@@ -1028,66 +1030,24 @@ build_spl_zfs() { + popd + return 255 + 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 ++ make rpm || return 255 + +- 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 +- fi +- fi ++ if $DO_SRC; then ++ make srpm || return 255 ++ mkdir -p $TOPDIR/SRPMS/ ++ mv $pkg*.src.rpm $TOPDIR/SRPMS/ ++ fi + +- # 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 ++ mkdir -p $TOPDIR/RPMS/$(basearch)/ $TOPDIR/RPMS/noarch/ ++ mv $pkg*.noarch.rpm $TOPDIR/RPMS/noarch/ ++ mv *$pkg*.$(basearch).rpm $TOPDIR/RPMS/$(basearch)/ + +- 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 ++ popd + +- # 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 rpm=$(ls $TOPDIR/RPMS/noarch/$dkmspkg-*.noarch.rpm) + + # cpio only extract to pwd so we need to go there. + pushd $TOPDIR diff --git a/lustre.spec.in b/lustre.spec.in index edd02f5..11ff302 100644 --- a/lustre.spec.in diff --git a/sys-cluster/lustre/files/0010-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch b/sys-cluster/lustre/files/0010-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch deleted file mode 100644 index 611e762..0000000 --- a/sys-cluster/lustre/files/0010-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 3cde88f309039a3c248e15746d20c6492566b18c Mon Sep 17 00:00:00 2001 -From: Alexey Shvetsov -Date: Sun, 31 Mar 2013 20:13:21 +0400 -Subject: [PATCH 10/11] LU-2850 kernel: f_vfsmnt replaced by f_path.mnt - -In linux 3.9 f_vfsmnt was killed and replaced - -commit 182be684784334598eee1d90274e7f7aa0063616 -Author: Al Viro -Date: Thu Jan 24 02:21:54 2013 -0500 - - kill f_vfsmnt - - very few users left... - -Signed-off-by: Alexey Shvetsov -Change-Id: I02f595f0b7bbe804c9695d6da2106deb2d17e0ee ---- - lustre/autoconf/lustre-core.m4 | 23 +++++++++++++++++++++++ - lustre/llite/dir.c | 4 ++++ - 2 files changed, 27 insertions(+) - -diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 -index 5c1fee2..439f677 100644 ---- a/lustre/autoconf/lustre-core.m4 -+++ b/lustre/autoconf/lustre-core.m4 -@@ -2314,6 +2314,28 @@ LB_LINUX_TRY_COMPILE([ - ]) - - # -+# 3.9 killed f_vfsmnt by -+# 182be684784334598eee1d90274e7f7aa0063616 -+# replacement is f_path.mnt -+# -+AC_DEFUN([LC_HAVE_F_PATH_MNT], -+[AC_MSG_CHECKING([if struct file has f_path.mnt]) -+LB_LINUX_TRY_COMPILE([ -+ #include -+],[ -+ struct file *fp = NULL; -+ struct path path; -+ -+ path.mnt = fp->f_path.mnt; -+],[ -+ AC_DEFINE(HAVE_F_PATH_MNT,1,[yes]) -+ AC_MSG_RESULT([yes]) -+],[ -+ AC_MSG_RESULT([no]) -+]) -+]) -+ -+# - # LC_PROG_LINUX - # - # Lustre linux kernel checks -@@ -2504,6 +2526,7 @@ AC_DEFUN([LC_PROG_LINUX], - - # 3.9 - LC_HAVE_HLIST_FOR_EACH_3ARG -+ LC_HAVE_F_PATH_MNT - - # - if test x$enable_server = xyes ; then -diff --git a/lustre/llite/dir.c b/lustre/llite/dir.c -index 14ea720..14d275c 100644 ---- a/lustre/llite/dir.c -+++ b/lustre/llite/dir.c -@@ -639,7 +639,11 @@ static int ll_readdir(struct file *filp, void *cookie, filldir_t filldir) - } - filp->f_version = inode->i_version; - #ifdef HAVE_TOUCH_ATIME_1ARG -+#ifdef HAVE_F_PATH_MNT -+ path.mnt = filp->f_path.mnt; -+#else - path.mnt = filp->f_vfsmnt; -+#endif - path.dentry = filp->f_dentry; - touch_atime(&path); - #else --- -1.8.1.5 - diff --git a/sys-cluster/lustre/lustre-9999.ebuild b/sys-cluster/lustre/lustre-9999.ebuild index 4471340..f9afeae 100644 --- a/sys-cluster/lustre/lustre-9999.ebuild +++ b/sys-cluster/lustre/lustre-9999.ebuild @@ -34,16 +34,14 @@ RDEPEND="${DEPEND}" PATCHES=( "${FILESDIR}/0001-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch" - "${FILESDIR}/0002-LU-2800-libcfs-use-sock_alloc_file-instead-of-sock_m.patch" + "${FILESDIR}/0002-LU-2686-kernel-sock_map_fd-replaced-by-sock_alloc_fi.patch" "${FILESDIR}/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch" "${FILESDIR}/0004-LU-2800-llite-introduce-local-getname.patch" - "${FILESDIR}/0005-LU-2850-build-check-header-files-in-generated-uapi-d.patch" + "${FILESDIR}/0005-LU-2686-kernel-Kernel-update-for-3.7.2-201.fc18.patch" "${FILESDIR}/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch" "${FILESDIR}/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch" "${FILESDIR}/0008-LU-2987-llite-rcu-free-inode.patch" - "${FILESDIR}/0009-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch" - "${FILESDIR}/0010-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch" - "${FILESDIR}/0011-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch" + "${FILESDIR}/0009-LU-3117-build-zfs-0.6.1-kmod-dkms-compatibility.patch" ) pkg_setup() {