<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Running new Mellanox OFED 4.7 on CentOS 7.7 kernel I tried to compile Lustre and got the following error<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">make[3]: Entering directory `/global/panfs01/admin/src/3.10.0-1062.1.2.el7.crt1.x86_64'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> CC [M] /tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.o<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">In file included from /tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.c:38:0:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.h: In function 'kiblnd_sg_dma_address':<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.h:1162:9: error: implicit declaration of function 'ib_sg_dma_address' [-Werror=implicit-function-declaration]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> return ib_sg_dma_address(dev, sg);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.h: In function 'kiblnd_sg_dma_len':<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.h:1168:9: error: implicit declaration of function 'ib_sg_dma_len' [-Werror=implicit-function-declaration]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> return ib_sg_dma_len(dev, sg);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.c: In function 'kiblnd_create_fmr_pool':<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.c:1676:30: error: 'struct ib_device' has no member named 'alloc_fmr'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> if (fpo->fpo_hdev->ibh_ibdev->alloc_fmr &&<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.c:1677:30: error: 'struct ib_device' has no member named 'dealloc_fmr'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> fpo->fpo_hdev->ibh_ibdev->dealloc_fmr &&<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.c:1678:30: error: 'struct ib_device' has no member named 'map_phys_fmr'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> fpo->fpo_hdev->ibh_ibdev->map_phys_fmr &&<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.c:1679:30: error: 'struct ib_device' has no member named 'unmap_fmr'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> fpo->fpo_hdev->ibh_ibdev->unmap_fmr) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.c: In function 'kiblnd_fmr_pool_unmap':<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/tmp/lustre-2.10.8/lnet/klnds/o2iblnd/o2iblnd.c:1825:7: error: void value not ignored as it ought to be<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> rc = ib_fmr_pool_unmap(fmr->fmr_pfmr);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">cc1: all warnings being treated as errors<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">looks like Mallenaox changed some names, and also the ib_device declaration. Using these patches I got it to work, but it would be nice if someone could check if I did something completely stupid
<span style="font-family:"Segoe UI Emoji",sans-serif">😊</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">--- lnet/klnds/o2iblnd/o2iblnd.c.orig 2019-10-03 11:11:43.000000000 -0600<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+++ lnet/klnds/o2iblnd/o2iblnd.c 2019-10-03 11:32:33.000000000 -0600<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">@@ -1673,10 +1673,10 @@<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> /* Check for FMR or FastReg support */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> fpo->fpo_is_fmr = 0;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">- if (fpo->fpo_hdev->ibh_ibdev->alloc_fmr &&<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">- fpo->fpo_hdev->ibh_ibdev->dealloc_fmr &&<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">- fpo->fpo_hdev->ibh_ibdev->map_phys_fmr &&<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">- fpo->fpo_hdev->ibh_ibdev->unmap_fmr) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+ if (fpo->fpo_hdev->ibh_ibdev->ops.alloc_fmr &&<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+ fpo->fpo_hdev->ibh_ibdev->ops.dealloc_fmr &&<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+ fpo->fpo_hdev->ibh_ibdev->ops.map_phys_fmr &&<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+ fpo->fpo_hdev->ibh_ibdev->ops.unmap_fmr) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> LCONSOLE_INFO("Using FMR for registration\n");<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> fpo->fpo_is_fmr = 1;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> } else if (dev_attr->device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">@@ -1822,8 +1822,8 @@<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> fps = fpo->fpo_owner;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> if (fpo->fpo_is_fmr) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> if (fmr->fmr_pfmr) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">- rc = ib_fmr_pool_unmap(fmr->fmr_pfmr);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">- LASSERT(!rc);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+ ib_fmr_pool_unmap(fmr->fmr_pfmr);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+// LASSERT(!rc);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> fmr->fmr_pfmr = NULL;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">--- lnet/klnds/o2iblnd/o2iblnd.h.orig 2019-10-03 11:13:30.000000000 -0600<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+++ lnet/klnds/o2iblnd/o2iblnd.h 2019-10-03 11:20:32.000000000 -0600<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">@@ -1159,13 +1159,13 @@<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">static inline __u64 kiblnd_sg_dma_address(struct ib_device *dev,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> struct scatterlist *sg)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">- return ib_sg_dma_address(dev, sg);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+ return sg_dma_address(sg);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">static inline unsigned int kiblnd_sg_dma_len(struct ib_device *dev,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> struct scatterlist *sg)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">- return ib_sg_dma_len(dev, sg);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">+ return sg_dma_len(sg);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">/* XXX We use KIBLND_CONN_PARAM(e) as writable buffer, it's not strictly<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">------------------------------------------------------------------------<br>
Michael Hebenstreit Senior Cluster Architect<br>
Intel Corporation, MS: RR1-105/H14 TSACG<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Courier New";color:#222222;background:white">1600 Rio Rancho Blvd SE</span><span style="font-size:10.0pt;font-family:"Courier New""> Tel.: +1 505-794-3144
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Rio Rancho, NM 87124<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">UNITED STATES E-mail:
<a href="mailto:michael.hebenstreit@intel.com"><span style="color:blue">michael.hebenstreit@intel.com</span></a></span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>