[lustre-discuss] Lustre and Linux 5.x

Shaun Tancheff stancheff at cray.com
Thu Dec 19 21:30:30 PST 2019


Hi Andrew,

It looks like 2.13.0 is missing a few patches for 5.3.
7674f2c976744c38fd761518db92e01b22de2fbb (HEAD -> test) LU-12904 o2ib: ib_destroy_cq() returns void
c22267e5a38c46a24ef3763131ee85cb57a16e5d LU-12904 build: account_page_dirtied is not exported
e2735d07403c0cd533fe6ceac133a900871b3883 LU-12634 llite: Use __xa_set_mark if it is available
ee3ecf5b6290081dff7c197b63b5087dcb299a9c LU-12634 libcfs: force_sig() removed task parameter
a298f8c1376485512f83472a22dc755f47947e75 (tag: v2_13_0, tag: 2.13.0, origin/b2_13) New release 2.13.0

Will build on CentOS against 5.3.0 mainline kernel:

$ git clean -dfx
$ sh ./autogen.sh
$ ./configure --disable-server --enable-client --with-linux=/usr/src/kernels/5.3.0-1.el7.x86_64 --disable-gss
$ ./LUSTRE-VERSION-GEN
2.12.58_197_g7674f2c
$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)

If you are using gss then there are still 2 more patches pending to land on master that you will need to cherry-pick from gerrit:
   https://review.whamcloud.com/35743
   https://review.whamcloud.com/36580

1735f8697a08d5edbf4a12dcfd402358dd4bfadb (in-review-gerrit) LU-12904 ldiskfs: Add ldiskfs support for linux 5.4
df0788accd0cb9260b3036b6f8a2b61a8122a56e LU-12904 gss: struct cache_detail readers changed to writers
f206a46c127dfde490ce61080645b3ee2b1d3127 LU-12634 gss: uid_keyring and session_keyring moved
9fb6818fe3d1e0130e147c5cf740e5e9a2631166 (origin/master, origin/HEAD, lunar/master, master) LU-12787 tests: skip project quota if it is disabled

On top of 2.13.0 tag:
305cadaa77de8833a5eb501389742bfb5584410f (HEAD -> test) LU-12904 gss: struct cache_detail readers changed to writers
6bf763bf35559a5008077ee37ba74d0075c1604a LU-12634 gss: uid_keyring and session_keyring moved
7674f2c976744c38fd761518db92e01b22de2fbb LU-12904 o2ib: ib_destroy_cq() returns void
c22267e5a38c46a24ef3763131ee85cb57a16e5d LU-12904 build: account_page_dirtied is not exported
e2735d07403c0cd533fe6ceac133a900871b3883 LU-12634 llite: Use __xa_set_mark if it is available
ee3ecf5b6290081dff7c197b63b5087dcb299a9c LU-12634 libcfs: force_sig() removed task parameter
a298f8c1376485512f83472a22dc755f47947e75 (tag: v2_13_0, tag: 2.13.0, origin/b2_13) New release 2.13.0
a4af7575718a06169866cc11e7b6cdfa266d44e1 LU-13030 pcc: Init saved dataset flags properly

$ git clean -dfx
$; sh ./autogen.sh
$ ./configure --disable-server --enable-client --with-linux=/usr/src/kernels/5.3.0-1.el7.x86_64
$ make -j16
$ ./LUSTRE-VERSION-GEN
2.12.58_199_g305cada

Depending on the version of gcc you are using you may need to grab some of the gcc8 fixes as well.
I’m thinking of this one:
    LU-12904 build: Support for gcc -Wimplicit-fallthrough
And possibly this one:
   LU-12904 build: External _module_ decorator removed
If should also get you up to mainline 5.4 (depending on what patches have been pulled into you 5.3 kernel).

This ‘error: "___wait_var_event" redefined [-Werror]’ I have not seen .. if you are still seeing this it would help if you include the exact kernel version and configure that you are working with.

Hope this helps,
--Shaun

From: lustre-discuss <lustre-discuss-bounces at lists.lustre.org> on behalf of "Tauferner, Andrew T" <andrew.t.tauferner at intel.com>
Date: Friday, December 20, 2019 at 4:33 AM
To: "lustre-discuss at lists.lustre.org" <lustre-discuss at lists.lustre.org>
Subject: [lustre-discuss] Lustre and Linux 5.x

I’m trying to build the Lustre client for a 5.3 kernel but I’m getting lots of errors.  I thought that 2.13 was going to support Linux 5.x kernels.  Here’s one example :

In file included from /usr/src/lustre-2.13.0/libcfs/libcfs/linux/linux-wait.c:9:0:
/usr/src/lustre-2.13.0/libcfs/include/libcfs/linux/linux-wait.h:74:0: error: "___wait_var_event" redefined [-Werror]
#define ___wait_var_event(var, condition, state, exclusive, ret, cmd) \

In file included from /usr/src/lustre-2.13.0/libcfs/include/libcfs/linux/linux-wait.h:11:0,
                 from /usr/src/lustre-2.13.0/libcfs/libcfs/linux/linux-wait.c:9:
include/linux/wait_bit.h:242:0: note: this is the location of the previous definition
#define ___wait_var_event(var, condition, state, exclusive, ret, cmd) \

In file included from /usr/src/lustre-2.13.0/libcfs/libcfs/linux/linux-wait.c:9:0:
/usr/src/lustre-2.13.0/libcfs/include/libcfs/linux/linux-wait.h:126:0: error: "__wait_var_event_timeout" redefined [-Werror]
#define __wait_var_event_timeout(var, condition, timeout)  \

In file included from /usr/src/lustre-2.13.0/libcfs/include/libcfs/linux/linux-wait.h:11:0,
                 from /usr/src/lustre-2.13.0/libcfs/libcfs/linux/linux-wait.c:9:
include/linux/wait_bit.h:294:0: note: this is the location of the previous definition
#define __wait_var_event_timeout(var, condition, timeout)  \

In file included from /usr/src/lustre-2.13.0/libcfs/libcfs/linux/linux-wait.c:9:0:
/usr/src/lustre-2.13.0/libcfs/include/libcfs/linux/linux-wait.h:131:0: error: "wait_var_event_timeout" redefined [-Werror]
#define wait_var_event_timeout(var, condition, timeout)   \

In file included from /usr/src/lustre-2.13.0/libcfs/include/libcfs/linux/linux-wait.h:11:0,
                 from /usr/src/lustre-2.13.0/libcfs/libcfs/linux/linux-wait.c:9:
include/linux/wait_bit.h:299:0: note: this is the location of the previous definition
#define wait_var_event_timeout(var, condition, timeout)   \

cc1: error: unrecognized command line option ‘-Wno-stringop-truncation’ [-Werror]
cc1: all warnings being treated as errors
make[5]: *** [scripts/Makefile.build:281: /usr/src/lustre-2.13.0/libcfs/libcfs/linux/linux-wait.o] Error 1
make[5]: *** Waiting for unfinished jobs....

Here’s another example:

/usr/src/lustre-2.13.0/lustre/llite/xattr.c:38:10: fatal error: linux/selinux.h: No such file or directory
#include <linux/selinux.h>
          ^~~~~~~~~~~~~~~~~

Andrew Tauferner

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20191220/ddba26ed/attachment-0001.html>


More information about the lustre-discuss mailing list