1 |
commit: d553d5f93a1d17c96cba49445ff89ab69db28339 |
2 |
Author: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Mar 31 17:20:23 2013 +0000 |
4 |
Commit: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Mar 31 17:20:23 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=d553d5f9 |
7 |
|
8 |
Add patches for gcc-4.8 and linux-3.9 |
9 |
|
10 |
Package-Manager: portage-2.2.0_alpha170 |
11 |
RepoMan-Options: --force |
12 |
|
13 |
--- |
14 |
sys-cluster/lustre/ChangeLog | 16 +++ |
15 |
...ld-make-AC-check-for-linux-arch-sandbox-f.patch | 2 +- |
16 |
...cfs-use-sock_alloc_file-instead-of-sock_m.patch | 2 +- |
17 |
...pat-posix_acl_-to-from-_xattr-take-user_n.patch | 2 +- |
18 |
...004-LU-2800-llite-introduce-local-getname.patch | 2 +- |
19 |
...ld-check-header-files-in-generated-uapi-d.patch | 2 +- |
20 |
...50-kernel-3.8-upstream-removes-vmtruncate.patch | 2 +- |
21 |
...-2850-kernel-3.8-upstream-kills-daemonize.patch | 2 +- |
22 |
.../files/0008-LU-2987-llite-rcu-free-inode.patch | 2 +- |
23 |
...ubuntu-Fix-build-failures-on-Ubuntu-12.04.patch | 2 +- |
24 |
...3077-build-fix-warnings-in-client-modules.patch | 34 ++++++ |
25 |
...rnel-3.9-hlist_for_each_entry-uses-3-args.patch | 115 ++++++++++++++++++++ |
26 |
...50-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch | 82 ++++++++++++++ |
27 |
sys-cluster/lustre/lustre-9999.ebuild | 3 + |
28 |
14 files changed, 259 insertions(+), 9 deletions(-) |
29 |
|
30 |
diff --git a/sys-cluster/lustre/ChangeLog b/sys-cluster/lustre/ChangeLog |
31 |
index 5d92271..4140e1a 100644 |
32 |
--- a/sys-cluster/lustre/ChangeLog |
33 |
+++ b/sys-cluster/lustre/ChangeLog |
34 |
@@ -2,6 +2,22 @@ |
35 |
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 |
36 |
# $Header: $ |
37 |
|
38 |
+ 31 Mar 2013; Alexey Shvetsov <alexxy@g.o> |
39 |
+ +files/0010-LU-3077-build-fix-warnings-in-client-modules.patch, |
40 |
+ +files/0011-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch, |
41 |
+ +files/0012-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch, |
42 |
+ files/0001-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch, |
43 |
+ files/0002-LU-2800-libcfs-use-sock_alloc_file-instead-of-sock_m.patch, |
44 |
+ files/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch, |
45 |
+ files/0004-LU-2800-llite-introduce-local-getname.patch, |
46 |
+ files/0005-LU-2850-build-check-header-files-in-generated-uapi-d.patch, |
47 |
+ files/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch, |
48 |
+ files/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch, |
49 |
+ files/0008-LU-2987-llite-rcu-free-inode.patch, |
50 |
+ files/0009-LU-3011-ubuntu-Fix-build-failures-on-Ubuntu-12.04.patch, |
51 |
+ lustre-9999.ebuild: |
52 |
+ Add patches for gcc-4.8 and linux-3.9 |
53 |
+ |
54 |
31 Mar 2013; Alexey Shvetsov <alexxy@g.o> lustre-9999.ebuild, |
55 |
metadata.xml: |
56 |
Enable more options |
57 |
|
58 |
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 |
59 |
index 487c99b..7eb7829 100644 |
60 |
--- a/sys-cluster/lustre/files/0001-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch |
61 |
+++ b/sys-cluster/lustre/files/0001-LU-2982-build-make-AC-check-for-linux-arch-sandbox-f.patch |
62 |
@@ -1,7 +1,7 @@ |
63 |
From d0169772fa2ebda3ed5c619d5e5cd6339973b0a0 Mon Sep 17 00:00:00 2001 |
64 |
From: Alexey Shvetsov <alexxy@g.o> |
65 |
Date: Mon, 18 Mar 2013 16:22:27 +0400 |
66 |
-Subject: [PATCH 1/9] LU-2982 build: make AC check for linux arch sandbox |
67 |
+Subject: [PATCH 01/12] LU-2982 build: make AC check for linux arch sandbox |
68 |
friendly |
69 |
|
70 |
this commit makes AC check for linux kernel arch sandbox friendly |
71 |
|
72 |
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 |
73 |
index 68450f5..a5b6daf 100644 |
74 |
--- a/sys-cluster/lustre/files/0002-LU-2800-libcfs-use-sock_alloc_file-instead-of-sock_m.patch |
75 |
+++ b/sys-cluster/lustre/files/0002-LU-2800-libcfs-use-sock_alloc_file-instead-of-sock_m.patch |
76 |
@@ -1,7 +1,7 @@ |
77 |
From 8258deb14e38559bf5ef37bd50a0918cdf473c00 Mon Sep 17 00:00:00 2001 |
78 |
From: Jeff Mahoney <jeffm@××××.com> |
79 |
Date: Wed, 13 Feb 2013 02:45:16 -0500 |
80 |
-Subject: [PATCH 2/9] LU-2800 libcfs: use sock_alloc_file instead of |
81 |
+Subject: [PATCH 02/12] LU-2800 libcfs: use sock_alloc_file instead of |
82 |
sock_map_fd |
83 |
|
84 |
v2.6.27 added a second argument to sock_map_fd. Earlier versions are |
85 |
|
86 |
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 |
87 |
index 5f96a81..8ada9e8 100644 |
88 |
--- a/sys-cluster/lustre/files/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch |
89 |
+++ b/sys-cluster/lustre/files/0003-LU-2850-compat-posix_acl_-to-from-_xattr-take-user_n.patch |
90 |
@@ -1,7 +1,7 @@ |
91 |
From 3050d2c9cccb51ce521bdbecd471cb6ce18f77b8 Mon Sep 17 00:00:00 2001 |
92 |
From: Jeff Mahoney <jeffm@××××.com> |
93 |
Date: Wed, 20 Mar 2013 17:33:17 -0400 |
94 |
-Subject: [PATCH 3/9] LU-2850 compat: posix_acl_{to,from}_xattr take |
95 |
+Subject: [PATCH 03/12] LU-2850 compat: posix_acl_{to,from}_xattr take |
96 |
user_namespace |
97 |
|
98 |
Commit 5f3a4a28 (v3.7) added a struct user_namespace argument to |
99 |
|
100 |
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 |
101 |
index 7218853..a0e2421 100644 |
102 |
--- a/sys-cluster/lustre/files/0004-LU-2800-llite-introduce-local-getname.patch |
103 |
+++ b/sys-cluster/lustre/files/0004-LU-2800-llite-introduce-local-getname.patch |
104 |
@@ -1,7 +1,7 @@ |
105 |
From 4f1bc5cb857ebba89b84d27ed5ed6531b8a59058 Mon Sep 17 00:00:00 2001 |
106 |
From: Jeff Mahoney <jeffm@××××.com> |
107 |
Date: Tue, 19 Mar 2013 21:18:32 -0400 |
108 |
-Subject: [PATCH 4/9] LU-2800 llite: introduce local getname() |
109 |
+Subject: [PATCH 04/12] LU-2800 llite: introduce local getname() |
110 |
|
111 |
Commit 8e377d15 (v3.7) unexported getname and putname. Although |
112 |
getname was re-exported, putname was not. All we really need is |
113 |
|
114 |
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-2850-build-check-header-files-in-generated-uapi-d.patch |
115 |
index 0c36aa6..78c264f 100644 |
116 |
--- a/sys-cluster/lustre/files/0005-LU-2850-build-check-header-files-in-generated-uapi-d.patch |
117 |
+++ b/sys-cluster/lustre/files/0005-LU-2850-build-check-header-files-in-generated-uapi-d.patch |
118 |
@@ -1,7 +1,7 @@ |
119 |
From 60c775330c663b7ecd32f314ab156ad0ba0ea072 Mon Sep 17 00:00:00 2001 |
120 |
From: Peng Tao <tao.peng@×××.com> |
121 |
Date: Wed, 27 Feb 2013 18:29:34 +0800 |
122 |
-Subject: [PATCH 5/9] LU-2850 build: check header files in generated uapi dir |
123 |
+Subject: [PATCH 05/12] LU-2850 build: check header files in generated uapi dir |
124 |
|
125 |
Upstream moved UAPI headers into generated/uapi directory since |
126 |
v3.7. We need to check/include necessary header files there. |
127 |
|
128 |
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 |
129 |
index d9444a7..39f4b4b 100644 |
130 |
--- a/sys-cluster/lustre/files/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch |
131 |
+++ b/sys-cluster/lustre/files/0006-LU-2850-kernel-3.8-upstream-removes-vmtruncate.patch |
132 |
@@ -1,7 +1,7 @@ |
133 |
From 19491f9e67e43ae10ae1f71e38730606e2c518a8 Mon Sep 17 00:00:00 2001 |
134 |
From: Alexey Shvetsov <alexxy@g.o> |
135 |
Date: Wed, 27 Mar 2013 08:49:01 +0400 |
136 |
-Subject: [PATCH 6/9] LU-2850 kernel: 3.8 upstream removes vmtruncate() |
137 |
+Subject: [PATCH 06/12] LU-2850 kernel: 3.8 upstream removes vmtruncate() |
138 |
|
139 |
vmtruncate() is removed since upstream commit b9f61c3. |
140 |
We can open code is for llite though. |
141 |
|
142 |
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 |
143 |
index 2092458..608af56 100644 |
144 |
--- a/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch |
145 |
+++ b/sys-cluster/lustre/files/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch |
146 |
@@ -1,7 +1,7 @@ |
147 |
From fc013881dd3b551e8fb8a5f6722a359c56c7bf63 Mon Sep 17 00:00:00 2001 |
148 |
From: Peng Tao <tao.peng@×××.com> |
149 |
Date: Mon, 18 Mar 2013 10:47:57 +0800 |
150 |
-Subject: [PATCH 7/9] LU-2850 kernel: 3.8 upstream kills daemonize() |
151 |
+Subject: [PATCH 07/12] LU-2850 kernel: 3.8 upstream kills daemonize() |
152 |
|
153 |
kernel_thread() is a low level kernel function. |
154 |
Instead of calling kernel_thread() and relying on daemonize() |
155 |
|
156 |
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 |
157 |
index 3960fe0..b444050 100644 |
158 |
--- a/sys-cluster/lustre/files/0008-LU-2987-llite-rcu-free-inode.patch |
159 |
+++ b/sys-cluster/lustre/files/0008-LU-2987-llite-rcu-free-inode.patch |
160 |
@@ -1,7 +1,7 @@ |
161 |
From 77ae599340fc509002f2875257c2e024fb1b44fb Mon Sep 17 00:00:00 2001 |
162 |
From: Peng Tao <tao.peng@×××.com> |
163 |
Date: Tue, 19 Mar 2013 14:04:47 +0800 |
164 |
-Subject: [PATCH 8/9] LU-2987 llite: rcu-free inode |
165 |
+Subject: [PATCH 08/12] LU-2987 llite: rcu-free inode |
166 |
|
167 |
Since 2.6.38, inode.i_rcu was added and file system .destory_inode |
168 |
should rcu-free inodes. |
169 |
|
170 |
diff --git a/sys-cluster/lustre/files/0009-LU-3011-ubuntu-Fix-build-failures-on-Ubuntu-12.04.patch b/sys-cluster/lustre/files/0009-LU-3011-ubuntu-Fix-build-failures-on-Ubuntu-12.04.patch |
171 |
index 2542cf4..ea056b4 100644 |
172 |
--- a/sys-cluster/lustre/files/0009-LU-3011-ubuntu-Fix-build-failures-on-Ubuntu-12.04.patch |
173 |
+++ b/sys-cluster/lustre/files/0009-LU-3011-ubuntu-Fix-build-failures-on-Ubuntu-12.04.patch |
174 |
@@ -1,7 +1,7 @@ |
175 |
From 84010884ffc614cc0d5cf06e5416dadc2693a86a Mon Sep 17 00:00:00 2001 |
176 |
From: Robert Read <robert.read@×××××.com> |
177 |
Date: Fri, 22 Mar 2013 11:32:13 -0700 |
178 |
-Subject: [PATCH 9/9] LU-3011 ubuntu: Fix build failures on Ubuntu 12.04 |
179 |
+Subject: [PATCH 09/12] LU-3011 ubuntu: Fix build failures on Ubuntu 12.04 |
180 |
|
181 |
Fix "set-but-unused" warning by using the variable, |
182 |
and move -lreadline to end of link command line. |
183 |
|
184 |
diff --git a/sys-cluster/lustre/files/0010-LU-3077-build-fix-warnings-in-client-modules.patch b/sys-cluster/lustre/files/0010-LU-3077-build-fix-warnings-in-client-modules.patch |
185 |
new file mode 100644 |
186 |
index 0000000..97a9d17 |
187 |
--- /dev/null |
188 |
+++ b/sys-cluster/lustre/files/0010-LU-3077-build-fix-warnings-in-client-modules.patch |
189 |
@@ -0,0 +1,34 @@ |
190 |
+From 0ec7b7dc1eafdec4da8a69a0c8ca5bab8c2a1634 Mon Sep 17 00:00:00 2001 |
191 |
+From: Alexey Shvetsov <alexxy@g.o> |
192 |
+Date: Sun, 31 Mar 2013 19:16:54 +0400 |
193 |
+Subject: [PATCH 10/12] LU-3077 build: fix warnings in client modules |
194 |
+ |
195 |
+This fixes warning with client module |
196 |
+memset(attr, 0, sizeof(attr)) : |
197 |
+argument to "sizeof" in "memset" call is the same expression as the |
198 |
+destination; did you mean to dereference it |
199 |
+ |
200 |
+gcc version 4.8.0 (Gentoo 4.8.0 p1.0, pie-0.5.10) |
201 |
+ |
202 |
+Signed-off-by: Alexey Shvetsov <alexxy@g.o> |
203 |
+Change-Id: I85197dfb7e512e4c747a7057632c3ecc7486ed37 |
204 |
+--- |
205 |
+ lustre/fld/fld_index.c | 2 +- |
206 |
+ 1 file changed, 1 insertion(+), 1 deletion(-) |
207 |
+ |
208 |
+diff --git a/lustre/fld/fld_index.c b/lustre/fld/fld_index.c |
209 |
+index cbe8300..a6f9be5 100644 |
210 |
+--- a/lustre/fld/fld_index.c |
211 |
++++ b/lustre/fld/fld_index.c |
212 |
+@@ -331,7 +331,7 @@ int fld_index_init(const struct lu_env *env, struct lu_server_fld *fld, |
213 |
+ if (attr == NULL) |
214 |
+ RETURN(-ENOMEM); |
215 |
+ |
216 |
+- memset(attr, 0, sizeof(attr)); |
217 |
++ memset(attr, 0, sizeof(*attr)); |
218 |
+ attr->la_valid = LA_MODE; |
219 |
+ attr->la_mode = S_IFREG | 0666; |
220 |
+ dof.dof_type = DFT_INDEX; |
221 |
+-- |
222 |
+1.8.1.5 |
223 |
+ |
224 |
|
225 |
diff --git a/sys-cluster/lustre/files/0011-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch b/sys-cluster/lustre/files/0011-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch |
226 |
new file mode 100644 |
227 |
index 0000000..3968eae |
228 |
--- /dev/null |
229 |
+++ b/sys-cluster/lustre/files/0011-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch |
230 |
@@ -0,0 +1,115 @@ |
231 |
+From 11a0f9a2ac7d3d1bcda9a8bd3af5800cee35249d Mon Sep 17 00:00:00 2001 |
232 |
+From: Alexey Shvetsov <alexxy@g.o> |
233 |
+Date: Sun, 31 Mar 2013 19:32:30 +0400 |
234 |
+Subject: [PATCH 11/12] LU-2850 kernel: 3.9 hlist_for_each_entry uses 3 args |
235 |
+ |
236 |
+In 3.9 hlist_for_each_entry use 3 args since commit |
237 |
+ |
238 |
+commit b67bfe0d42cac56c512dd5da4b1b347a23f4b70a |
239 |
+Author: Sasha Levin <sasha.levin@××××××.com> |
240 |
+Date: Wed Feb 27 17:06:00 2013 -0800 |
241 |
+ |
242 |
+ hlist: drop the node parameter from iterators |
243 |
+ |
244 |
+Signed-off-by: Alexey Shvetsov <alexxy@g.o> |
245 |
+Change-Id: I8f38d562607de21771b03575e37cc0498867a570 |
246 |
+--- |
247 |
+ libcfs/include/libcfs/list.h | 10 ++++++++++ |
248 |
+ lustre/autoconf/lustre-core.m4 | 26 ++++++++++++++++++++++++++ |
249 |
+ lustre/include/linux/lustre_compat25.h | 5 +++++ |
250 |
+ 3 files changed, 41 insertions(+) |
251 |
+ |
252 |
+diff --git a/libcfs/include/libcfs/list.h b/libcfs/include/libcfs/list.h |
253 |
+index be06e74..b747804 100644 |
254 |
+--- a/libcfs/include/libcfs/list.h |
255 |
++++ b/libcfs/include/libcfs/list.h |
256 |
+@@ -91,14 +91,24 @@ typedef struct hlist_node cfs_hlist_node_t; |
257 |
+ #define cfs_hlist_for_each(pos, head) hlist_for_each(pos, head) |
258 |
+ #define cfs_hlist_for_each_safe(pos, n, head) \ |
259 |
+ hlist_for_each_safe(pos, n, head) |
260 |
++#ifdef HAVE_HLIST_FOR_EACH_3ARG |
261 |
++#define cfs_hlist_for_each_entry(tpos, pos, head, member) \ |
262 |
++ pos = NULL; hlist_for_each_entry(tpos, head, member) |
263 |
++#else |
264 |
+ #define cfs_hlist_for_each_entry(tpos, pos, head, member) \ |
265 |
+ hlist_for_each_entry(tpos, pos, head, member) |
266 |
++#endif |
267 |
+ #define cfs_hlist_for_each_entry_continue(tpos, pos, member) \ |
268 |
+ hlist_for_each_entry_continue(tpos, pos, member) |
269 |
+ #define cfs_hlist_for_each_entry_from(tpos, pos, member) \ |
270 |
+ hlist_for_each_entry_from(tpos, pos, member) |
271 |
++#ifdef HAVE_HLIST_FOR_EACH_3ARG |
272 |
++#define cfs_hlist_for_each_entry_safe(tpos, pos, n, head, member) \ |
273 |
++ pos = NULL; hlist_for_each_entry_safe(tpos, n, head, member) |
274 |
++#else |
275 |
+ #define cfs_hlist_for_each_entry_safe(tpos, pos, n, head, member) \ |
276 |
+ hlist_for_each_entry_safe(tpos, pos, n, head, member) |
277 |
++#endif |
278 |
+ |
279 |
+ #define CFS_HLIST_HEAD_INIT HLIST_HEAD_INIT |
280 |
+ #define CFS_HLIST_HEAD(n) HLIST_HEAD(n) |
281 |
+diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 |
282 |
+index 4e90e86..527052e 100644 |
283 |
+--- a/lustre/autoconf/lustre-core.m4 |
284 |
++++ b/lustre/autoconf/lustre-core.m4 |
285 |
+@@ -2291,6 +2291,29 @@ LB_LINUX_TRY_COMPILE([ |
286 |
+ ]) |
287 |
+ |
288 |
+ # |
289 |
++# 3.9 uses hlist_for_each_entry with 3 args |
290 |
++# b67bfe0d42cac56c512dd5da4b1b347a23f4b70a |
291 |
++# |
292 |
++AC_DEFUN([LC_HAVE_HLIST_FOR_EACH_3ARG], |
293 |
++[AC_MSG_CHECKING([if hlist_for_each_entry has 3 args]) |
294 |
++LB_LINUX_TRY_COMPILE([ |
295 |
++ #include <linux/list.h> |
296 |
++ #include <linux/fs.h> |
297 |
++],[ |
298 |
++ struct inode *inode; |
299 |
++ struct dentry *dentry; |
300 |
++ hlist_for_each_entry(dentry, &inode->i_dentry, d_alias) { |
301 |
++ continue; |
302 |
++ } |
303 |
++],[ |
304 |
++ AC_DEFINE(HAVE_HLIST_FOR_EACH_3ARG, 1, [3 args]) |
305 |
++ AC_MSG_RESULT([yes]) |
306 |
++],[ |
307 |
++ AC_MSG_RESULT([no]) |
308 |
++]) |
309 |
++]) |
310 |
++ |
311 |
++# |
312 |
+ # LC_PROG_LINUX |
313 |
+ # |
314 |
+ # Lustre linux kernel checks |
315 |
+@@ -2479,6 +2502,9 @@ AC_DEFUN([LC_PROG_LINUX], |
316 |
+ # 3.8 |
317 |
+ LC_HAVE_MM_VMTRUNCATE |
318 |
+ |
319 |
++ # 3.9 |
320 |
++ LC_HAVE_HLIST_FOR_EACH_3ARG |
321 |
++ |
322 |
+ # |
323 |
+ if test x$enable_server = xyes ; then |
324 |
+ AC_DEFINE(HAVE_SERVER_SUPPORT, 1, [support server]) |
325 |
+diff --git a/lustre/include/linux/lustre_compat25.h b/lustre/include/linux/lustre_compat25.h |
326 |
+index ca485cd..ecd689f 100644 |
327 |
+--- a/lustre/include/linux/lustre_compat25.h |
328 |
++++ b/lustre/include/linux/lustre_compat25.h |
329 |
+@@ -620,8 +620,13 @@ static inline int ll_quota_off(struct super_block *sb, int off, int remount) |
330 |
+ #define ll_d_hlist_empty(list) hlist_empty(list) |
331 |
+ #define ll_d_hlist_entry(ptr, type, name) hlist_entry(ptr.first, type, name) |
332 |
+ #define ll_d_hlist_for_each(tmp, i_dentry) hlist_for_each(tmp, i_dentry) |
333 |
++#ifdef HAVE_HLIST_FOR_EACH_3ARG |
334 |
++#define ll_d_hlist_for_each_entry(dentry, p, i_dentry, alias) \ |
335 |
++ p = NULL; hlist_for_each_entry(dentry, i_dentry, alias) |
336 |
++#else |
337 |
+ #define ll_d_hlist_for_each_entry(dentry, p, i_dentry, alias) \ |
338 |
+ hlist_for_each_entry(dentry, p, i_dentry, alias) |
339 |
++#endif |
340 |
+ #else |
341 |
+ #define ll_d_hlist_node list_head |
342 |
+ #define ll_d_hlist_empty(list) list_empty(list) |
343 |
+-- |
344 |
+1.8.1.5 |
345 |
+ |
346 |
|
347 |
diff --git a/sys-cluster/lustre/files/0012-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch b/sys-cluster/lustre/files/0012-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch |
348 |
new file mode 100644 |
349 |
index 0000000..35905f0 |
350 |
--- /dev/null |
351 |
+++ b/sys-cluster/lustre/files/0012-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch |
352 |
@@ -0,0 +1,82 @@ |
353 |
+From da0f460ee306437c583147ea6832298cbc1e9202 Mon Sep 17 00:00:00 2001 |
354 |
+From: Alexey Shvetsov <alexxy@g.o> |
355 |
+Date: Sun, 31 Mar 2013 20:13:21 +0400 |
356 |
+Subject: [PATCH 12/12] LU-2850 kernel: f_vfsmnt replaced by f_path.mnt |
357 |
+ |
358 |
+In linux 3.9 f_vfsmnt was killed and replaced |
359 |
+ |
360 |
+commit 182be684784334598eee1d90274e7f7aa0063616 |
361 |
+Author: Al Viro <viro@×××××××××××××××.uk> |
362 |
+Date: Thu Jan 24 02:21:54 2013 -0500 |
363 |
+ |
364 |
+ kill f_vfsmnt |
365 |
+ |
366 |
+ very few users left... |
367 |
+ |
368 |
+Signed-off-by: Alexey Shvetsov <alexxy@g.o> |
369 |
+Change-Id: I02f595f0b7bbe804c9695d6da2106deb2d17e0ee |
370 |
+--- |
371 |
+ lustre/autoconf/lustre-core.m4 | 23 +++++++++++++++++++++++ |
372 |
+ lustre/llite/dir.c | 4 ++++ |
373 |
+ 2 files changed, 27 insertions(+) |
374 |
+ |
375 |
+diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 |
376 |
+index 527052e..de79357 100644 |
377 |
+--- a/lustre/autoconf/lustre-core.m4 |
378 |
++++ b/lustre/autoconf/lustre-core.m4 |
379 |
+@@ -2314,6 +2314,28 @@ LB_LINUX_TRY_COMPILE([ |
380 |
+ ]) |
381 |
+ |
382 |
+ # |
383 |
++# 3.9 killed f_vfsmnt by |
384 |
++# 182be684784334598eee1d90274e7f7aa0063616 |
385 |
++# replacement is f_path.mnt |
386 |
++# |
387 |
++AC_DEFUN([LC_HAVE_F_PATH_MNT], |
388 |
++[AC_MSG_CHECKING([if struct file has f_path.mnt]) |
389 |
++LB_LINUX_TRY_COMPILE([ |
390 |
++ #include <linux/fs.h> |
391 |
++],[ |
392 |
++ struct file *fp = NULL; |
393 |
++ struct path path; |
394 |
++ |
395 |
++ path.mnt = fp->f_path.mnt; |
396 |
++],[ |
397 |
++ AC_DEFINE(HAVE_F_PATH_MNT,1,[yes]) |
398 |
++ AC_MSG_RESULT([yes]) |
399 |
++],[ |
400 |
++ AC_MSG_RESULT([no]) |
401 |
++]) |
402 |
++]) |
403 |
++ |
404 |
++# |
405 |
+ # LC_PROG_LINUX |
406 |
+ # |
407 |
+ # Lustre linux kernel checks |
408 |
+@@ -2504,6 +2526,7 @@ AC_DEFUN([LC_PROG_LINUX], |
409 |
+ |
410 |
+ # 3.9 |
411 |
+ LC_HAVE_HLIST_FOR_EACH_3ARG |
412 |
++ LC_HAVE_F_PATH_MNT |
413 |
+ |
414 |
+ # |
415 |
+ if test x$enable_server = xyes ; then |
416 |
+diff --git a/lustre/llite/dir.c b/lustre/llite/dir.c |
417 |
+index 14ea720..14d275c 100644 |
418 |
+--- a/lustre/llite/dir.c |
419 |
++++ b/lustre/llite/dir.c |
420 |
+@@ -639,7 +639,11 @@ static int ll_readdir(struct file *filp, void *cookie, filldir_t filldir) |
421 |
+ } |
422 |
+ filp->f_version = inode->i_version; |
423 |
+ #ifdef HAVE_TOUCH_ATIME_1ARG |
424 |
++#ifdef HAVE_F_PATH_MNT |
425 |
++ path.mnt = filp->f_path.mnt; |
426 |
++#else |
427 |
+ path.mnt = filp->f_vfsmnt; |
428 |
++#endif |
429 |
+ path.dentry = filp->f_dentry; |
430 |
+ touch_atime(&path); |
431 |
+ #else |
432 |
+-- |
433 |
+1.8.1.5 |
434 |
+ |
435 |
|
436 |
diff --git a/sys-cluster/lustre/lustre-9999.ebuild b/sys-cluster/lustre/lustre-9999.ebuild |
437 |
index d956244..975bc76 100644 |
438 |
--- a/sys-cluster/lustre/lustre-9999.ebuild |
439 |
+++ b/sys-cluster/lustre/lustre-9999.ebuild |
440 |
@@ -41,6 +41,9 @@ PATCHES=( |
441 |
"${FILESDIR}/0007-LU-2850-kernel-3.8-upstream-kills-daemonize.patch" |
442 |
"${FILESDIR}/0008-LU-2987-llite-rcu-free-inode.patch" |
443 |
"${FILESDIR}/0009-LU-3011-ubuntu-Fix-build-failures-on-Ubuntu-12.04.patch" |
444 |
+ "${FILESDIR}/0010-LU-3077-build-fix-warnings-in-client-modules.patch" |
445 |
+ "${FILESDIR}/0011-LU-2850-kernel-3.9-hlist_for_each_entry-uses-3-args.patch" |
446 |
+ "${FILESDIR}/0012-LU-2850-kernel-f_vfsmnt-replaced-by-f_path.mnt.patch" |
447 |
) |
448 |
|
449 |
pkg_setup() { |