<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:53:08 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-5628] Dealing with kernels that have lustre enabled already</title>
                <link>https://jira.whamcloud.com/browse/LU-5628</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Now that the kernels that have lustre (from that staging tree at the moment) included grows and distributions that ship it increase, we need to do something about all the problems this creates for us.&lt;/p&gt;

&lt;p&gt;Currently we cannot build our external lustre against such a kernel due to clash in config defines e.g.:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;make[1]: Entering directory `/home/green/bk/x86&apos;
  CC [M]  /home/green/git/lustre-current/libcfs/libcfs/linux/linux-tracefile.o
In file included from &amp;lt;command-line&amp;gt;:0:0:
/home/green/git/lustre-current/config.h:26:0: error: &quot;CONFIG_LNET_MAX_PAYLOAD&quot; redefined [-Werror]
 #define CONFIG_LNET_MAX_PAYLOAD LNET_MTU
 ^
In file included from /home/green/bk/linux/include/linux/kconfig.h:4:0,
                 from &amp;lt;command-line&amp;gt;:0:
include/generated/autoconf.h:1571:0: note: this is the location of the previous definition
 #define CONFIG_LNET_MAX_PAYLOAD 1048576
 ^
cc1: all warnings being treated as errors
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Once the lustre is moved out of staging tree, another problem will be added - clashing of symbols from lustre includes in the kernel tree (now hidden in secluded staging location so not a problem immediately).&lt;/p&gt;

&lt;p&gt;Once the config symbols clash is resolved - the other problem is the clash in module names between in-kernel lustre and out of kernel lustre. Due to in-kernel implementation mostly being geared towards clients and also lacking our debugging aids and such - these modules are not interchangeable really and we need to do something about it too - possibly consider renaming our out of tree modules? This will become a problem once distributions start to enable lustre by default in their kernels (so not a big problem yet too).&lt;/p&gt;

&lt;p&gt;Finally there are bound to be symbol clashes between in and out-of kernel lustre modules so we need to do something about that too I suspect, but not sure what so far. A wrapper to change the name a bit?&lt;/p&gt;</description>
                <environment></environment>
        <key id="26586">LU-5628</key>
            <summary>Dealing with kernels that have lustre enabled already</summary>
                <type id="3" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11318&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="3">Duplicate</resolution>
                                        <assignee username="dmiter">Dmitry Eremin</assignee>
                                    <reporter username="green">Oleg Drokin</reporter>
                        <labels>
                            <label>usk</label>
                    </labels>
                <created>Mon, 15 Sep 2014 22:41:44 +0000</created>
                <updated>Thu, 23 Nov 2017 21:33:08 +0000</updated>
                            <resolved>Sun, 20 Sep 2015 04:03:02 +0000</resolved>
                                                                        <due></due>
                            <votes>1</votes>
                                    <watches>14</watches>
                                                                            <comments>
                            <comment id="96260" author="rread" created="Mon, 13 Oct 2014 20:04:28 +0000"  >&lt;p&gt;We&apos;ll also need to enable distributions to be able to package the client utilities so users can actually use the modules. &lt;/p&gt;</comment>
                            <comment id="103433" author="mdiep" created="Wed, 14 Jan 2015 01:58:09 +0000"  >&lt;p&gt;also saw this&lt;/p&gt;

&lt;p&gt;/root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/linux/linux-mem.h: In function &#8216;set_shrinker&#8217;:&lt;br/&gt;
/root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/linux/linux-mem.h:135:10: error: &#8216;struct shrinker&#8217; has no member named &#8216;shrink&#8217;&lt;br/&gt;
         s-&amp;gt;shrink = func;  &lt;br/&gt;
          ^&lt;br/&gt;
In file included from /root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/linux/libcfs.h:53:0,&lt;br/&gt;
                 from /root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/libcfs.h:47,&lt;br/&gt;
                 from /root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/libcfs/linux/linux-tracefile.c:40:&lt;br/&gt;
/root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/linux/linux-prim.h: At top level:&lt;br/&gt;
/root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/linux/linux-prim.h:100:1: error: unknown type name &#8216;read_proc_t&#8217;&lt;br/&gt;
 typedef read_proc_t                     cfs_read_proc_t;&lt;br/&gt;
 ^&lt;br/&gt;
/root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/linux/linux-prim.h:101:1: error: unknown type name &#8216;write_proc_t&#8217;&lt;br/&gt;
 typedef write_proc_t                    cfs_write_proc_t;&lt;br/&gt;
 ^&lt;br/&gt;
In file included from /root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/libcfs.h:305:0,&lt;br/&gt;
                 from /root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/libcfs/linux/linux-tracefile.c:40:&lt;br/&gt;
/root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/params_tree.h: In function &#8216;LPROCFS_ENTRY_CHECK&#8217;:&lt;br/&gt;
/root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/params_tree.h:85:17: error: dereferencing pointer to incomplete type&lt;br/&gt;
  spin_lock(&amp;amp;(dp)-&amp;gt;pde_unload_lock);&lt;br/&gt;
                 ^           &lt;br/&gt;
/root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/params_tree.h:86:8: error: dereferencing pointer to incomplete type&lt;br/&gt;
  if (dp-&amp;gt;proc_fops == NULL) &lt;br/&gt;
        ^&lt;br/&gt;
/root/inkernel/debian/tmp/modules-deb/usr_src/modules/lustre/libcfs/include/libcfs/params_tree.h:88:19: error: dereferencing pointer to incomplete type&lt;br/&gt;
  spin_unlock(&amp;amp;(dp)-&amp;gt;pde_unload_lock);&lt;br/&gt;
                   ^         &lt;/p&gt;</comment>
                            <comment id="103473" author="simmonsja" created="Wed, 14 Jan 2015 15:19:55 +0000"  >&lt;p&gt;Those errors are due to procfs api changes upstream which should be resolved by the patches from &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5275&quot; title=&quot;clean up technical debt for proc_dir_entry changes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5275&quot;&gt;&lt;del&gt;LU-5275&lt;/del&gt;&lt;/a&gt;. Which debian/Ubuntu are you testing on?&lt;/p&gt;</comment>
                            <comment id="103801" author="mdiep" created="Fri, 16 Jan 2015 22:57:58 +0000"  >&lt;p&gt;I am testing on Ubuntu 14.04&lt;/p&gt;</comment>
                            <comment id="113107" author="james beal" created="Wed, 22 Apr 2015 07:43:35 +0000"  >&lt;p&gt;Any news as I am seeing this with lustre 2.7 on Ubuntu 14.04&lt;/p&gt;</comment>
                            <comment id="113209" author="simmonsja" created="Thu, 23 Apr 2015 14:40:15 +0000"  >&lt;p&gt;I&apos;m also working with on Ubuntu 14.04 as well and just pushed some patches to make the intel branch of lustre functional. As for making it work with the upstream client that is included it will require a bit of work which I haven&apos;t had the time to do. So basically we have do something along the lines of OFED. Besides handing CONFIG_LNET_MAX_PAYLOAD we have to modify Module.symvers so that the correct lustre modules have to be updated. Currently make debs places the lustre modules in kernel/fs instead of updates. That needs to be fixed first.&lt;/p&gt;</comment>
                            <comment id="113210" author="james beal" created="Thu, 23 Apr 2015 14:52:21 +0000"  >&lt;p&gt;Thanks for that, in our use case we use a redhat kernel on our servers with the user space being ubuntu but for our clients we want to use the real client and the default kernel. We use dkms for our client modules so that works for us &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;. I could email you a link to the system we use to build things if that would help at all ( it works in vagrant and aws ).&lt;/p&gt;</comment>
                            <comment id="113215" author="simmonsja" created="Thu, 23 Apr 2015 15:13:45 +0000"  >&lt;p&gt;Looking at the module-assisant man pages it appears that KPKG_DEST_DIR can be used to place the lustre modules into the update directory. Perhaps that is not the best solution yet since I am not a debian package expert by any means. Anyone debian package gurues here?&lt;/p&gt;</comment>
                            <comment id="124306" author="utopiabound" created="Mon, 17 Aug 2015 16:24:04 +0000"  >&lt;p&gt;&lt;b&gt;WORKAROUND:&lt;/b&gt;&lt;br/&gt;
Ubuntu 14.04 LTS&lt;br/&gt;
Linux kernel 3.13&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;./configure --disable-server --enable-quota --with-max-payload-mb=1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;edit &lt;tt&gt;config.h&lt;/tt&gt; to replace &lt;tt&gt;((1)&amp;lt;&amp;lt;20)&lt;/tt&gt; with &lt;tt&gt;1048576&lt;/tt&gt;&lt;/p&gt;</comment>
                            <comment id="127280" author="dmiter" created="Mon, 14 Sep 2015 20:09:37 +0000"  >&lt;p&gt;The patch &lt;a href=&quot;http://review.whamcloud.com/16418&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16418&lt;/a&gt; will also resolve this. The issue is common with &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7042&quot; title=&quot;config.h header conflict with OFED 3.18&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7042&quot;&gt;&lt;del&gt;LU-7042&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="127345" author="simmonsja" created="Tue, 15 Sep 2015 15:31:35 +0000"  >&lt;p&gt;Patch &lt;a href=&quot;http://review.whamcloud.com/16418&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16418&lt;/a&gt; will resolve the config.h issues with the upstream kernel but for OpenSFS/Intel lustre to run instead of the upstream client we need to modify Module.symvers to replace the symbols form the upstream clients with the master branch much like we do for the OFED external stacks.&lt;/p&gt;</comment>
                            <comment id="127456" author="dmiter" created="Wed, 16 Sep 2015 08:40:54 +0000"  >&lt;p&gt;Why we need this? Are we assume somebody will link with our modules? What the reason to provide our symbols versions for other?&lt;/p&gt;</comment>
                            <comment id="127487" author="simmonsja" created="Wed, 16 Sep 2015 14:41:54 +0000"  >&lt;p&gt;For LNet this is the case. In the wild exist external kernel modules that use LNet like DVS from Cray.&lt;/p&gt;

&lt;p&gt;Have you tried Intel Lustre on a Distro with upstream Lustre enabled? I have newer Ubuntu versions on the IBM PowerPC but for some mysterious reason Lustre is disabled unlike other Ubuntu systems &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="127532" author="rread" created="Wed, 16 Sep 2015 18:39:06 +0000"  >&lt;p&gt;Amazon Linux includes upstream Lustre, and I&apos;ve heard you can install el6 lustre-client rpm to be able to mount a filesystem.  Haven&apos;t heard how well the it actually works, though.&lt;/p&gt;</comment>
                            <comment id="127669" author="dmiter" created="Thu, 17 Sep 2015 17:57:45 +0000"  >&lt;ul&gt;
	&lt;li&gt;I agree we need to provide Module.symvers for DVS from Cray. But we don&apos;t need to modify any file from kernel.&lt;/li&gt;
	&lt;li&gt;I checked the compiled Lustre client for Ubuntu 14.04 works fine and overwrites in-kernel version like OFED package do.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;So, this is additional ticket to provide Module.symvers for external programs that would like to link with our modules. I need more info about those programs. How they link now? What API they use?&lt;/p&gt;</comment>
                            <comment id="127779" author="simmonsja" created="Fri, 18 Sep 2015 14:50:25 +0000"  >&lt;p&gt;I know DVS from Cray is closed source so no one can help much there. Thinking about it it should be up to the external packages to handle the Module.symvers issue themselves. Better way to handle this is sync up libcfs/lnet upstream with master &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; After patch 16418 lands we can close this ticket.&lt;/p&gt;</comment>
                            <comment id="127916" author="dmiter" created="Sat, 19 Sep 2015 13:51:23 +0000"  >&lt;p&gt;Patch landed to master.&lt;/p&gt;</comment>
                            <comment id="127932" author="pjones" created="Sun, 20 Sep 2015 04:03:02 +0000"  >&lt;p&gt;Fix tracked under &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7042&quot; title=&quot;config.h header conflict with OFED 3.18&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7042&quot;&gt;&lt;del&gt;LU-7042&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="28055">LU-6083</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="31684">LU-7042</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="28577">LU-6215</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="29795">LU-6547</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzwwc7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>15743</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>