Gentoo Archives: gentoo-commits

From: Alexey Shvetsov <alexxy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: sys-cluster/lustre/, sys-cluster/lustre/files/
Date: Sun, 31 Mar 2013 17:20:47
Message-Id: 1364750423.d553d5f93a1d17c96cba49445ff89ab69db28339.alexxy@gentoo
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() {