Hi, Hsieh, You can port ldiskfs patch(ldiskfs//kernel_patches/patches/rhel6.3/ext4-export-64bit-name-hash.patch) to fix this issue. This patch has been landed to RHEL. But looks like Debian not.
Thanks, YangSheng > 在 2019年3月13日,上午12:36,Tung-Han Hsieh <[email protected]> 写道: > > Dear Farrell, > > Thank you very much for your response. Unfortunately, the wiki does > not cover our special environment. > > We need to build Lustre Master (i.e., to handle MDS and OSS) on a > Debian Linux 8.X/9.X operating system, with LDSIKFS as the backend > for MDT and OST. This is because we already have a lot of OSS with > a lot of data. They were upgraded from Lustre-1.8.8 to Lustre-2.5.3. > These servers are all installed Debian 8.11 Linux system. We just > want to keep them running smoothly to provide a stable computing > environment. > > I saw that the Lustre Master with LDISKFS is tightly bond to RHEL > 6.4 or 7.3. It is quite unfortunate not our case. So we have to > find some non-standard way to build it for our system. > > From Lustre-1.6.X, 1.8.X, and up to 2.5.X, we got the source code > of Linux kernel from SuSE, patch it, and then build lustre source. > For example, for 2.5.X, we get the following Linux kernel from > sele11sp3: > > linux-3.0.101-138.gcdbe806 > > and patch it via the following commands: > > cd linux-3.0.101-138.gcdbe806 > ln -s ../lustre-2.5.X/lustre/kernel_patches/series/3.0-sles11sp3.series > series > ln -s ../lustre-2.5.X/lustre/kernel_patches/patches patches > quilt push -av > > Then we build Linux kernel, and build Lustre with the following > instructions: > > cd lustre-2.5.X > ./configure --prefix=/opt/lustre > --with-linux=/usr/src/linux-3.0.101-138.gcdbe806 --with-o2ib=no > make > make install > > These are standard methods we found in the Lustre-1.8.X manuals. It > works before, and the resulting system ran without problem for a long > time. So for Lustre-2.10.X, we want to try similar method. Now we > encountered the compiling errors of LDISKFS_HTREE_EOF_32BIT and > LDISKFS_HTREE_EOF_64BIT not defined. > > I guess that these symbols are defined somewhere in RHEL systems, > but unfortunately not available in other Linux distributions. I > searched the entire source code of lustre-2.10.6, including all the > patch files coming with the source code, there is no definition of > these two symbols. So maybe I should ask what are the definition > of these symbols ? We could just add their definitions into the > header file "ldiskfs/ldiskfs.h" to complete the compilation. > > ps. In Debian Linux system, we already successfully compiled Lustre-2.10.5 > with ZFS backend. It works very nice in one of our clusters. However, > this time we need Lustre-2.10.X with LDISKFS backend, because there > are a lot of OSTs which are formatted with LDISKFS. The total size of > data is more than 50TB which is impossible to back it up and reformat. > > Thanks very much. > > T.H.Hsieh > > On Tue, Mar 12, 2019 at 03:55:13PM +0000, Patrick Farrell wrote: >> Hsieh, >> >> >> We have instructions for compiling from source here on our Wiki: >> >> https://wiki.whamcloud.com/display/PUB/Building+Lustre+from+Source >> >> >> Are you following those? If not, I'd suggest it - Your problem looks likely >> to be an error in the build process. >> >> >> We also have prebuilt 2.10.6 packages for many platforms: >> https://downloads.whamcloud.com/public/lustre/ >> >> >> - Patrick >> >> >> >> ________________________________ >> From: lustre-discuss <[email protected]> on behalf of >> Tung-Han Hsieh <[email protected]> >> Sent: Tuesday, March 12, 2019 9:22:57 AM >> To: [email protected] >> Subject: [lustre-discuss] Compiling lustre-2.10.6 >> >> Dear All, >> >> I am trying to compile lustre-2.10.6 from source code. During >> compilation, there are undefined symbols: >> >> ========================================================================== >> CC [M] >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.o >> In file included from >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.c:72:0: >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h: >> In function 'ldiskfs_get_htree_eof': >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h:1254:10: >> error: 'LDISKFS_HTREE_EOF_32BIT' undeclared (first use in this function) >> return LDISKFS_HTREE_EOF_32BIT; >> ^ >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h:1254:10: >> note: each undeclared identifier is reported only once for each function it >> appears in >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h:1256:10: >> error: 'LDISKFS_HTREE_EOF_64BIT' undeclared (first use in this function) >> return LDISKFS_HTREE_EOF_64BIT; >> ^ >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.c: >> In function 'osd_check_lmv': >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.c:968:19: >> error: 'LDISKFS_HTREE_EOF_64BIT' undeclared (first use in this function) >> filp->f_pos != LDISKFS_HTREE_EOF_64BIT); >> ^ >> In file included from >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.c:72:0: >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h: >> In function 'ldiskfs_get_htree_eof': >> /home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_internal.h:1257:1: >> error: control reaches end of non-void function [-Werror=return-type] >> } >> ^ >> cc1: all warnings being treated as errors >> scripts/Makefile.build:321: recipe for target >> '/home/thhsieh/lustre/L-2.10.6/lustre-2.10.6/lustre/osd-ldiskfs/osd_handler.o' >> failed >> ========================================================================== >> >> I searched the source code, only find the definition of LDISKFS_HTREE_EOF >> in ldiskfs/ldiskfs.h: >> >> #define LDISKFS_HTREE_EOF 0x7fffffff >> >> but cannot find the definition of LDISKFS_HTREE_EOF_32BIT and >> LDISKFS_HTREE_EOF_64BIT. Could anyone tell me how to fix this problem ? >> >> Thanks very much. >> >> T.H.Hsieh >> _______________________________________________ >> lustre-discuss mailing list >> [email protected] >> http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org > _______________________________________________ > lustre-discuss mailing list > [email protected] > http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org _______________________________________________ lustre-discuss mailing list [email protected] http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
