<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:38:52 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-4012] GSS upcall routine fails due to removed generic cache routines in Linux kernels &gt;= 3.4.X</title>
                <link>https://jira.whamcloud.com/browse/LU-4012</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;With Linux kernel version &amp;gt;= 3.4.X the generic cache registering &lt;br/&gt;
routines cache_register(), cache_unregister() are removed. &lt;br/&gt;
This effects the GSS upcall routines for the Kerberos &lt;br/&gt;
support in Lustre. Before (Linux kernel &amp;lt;= 3.2.X) the &lt;br/&gt;
generic routines were coded as:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;int cache_register(struct cache_detail *cd)
{
        return cache_register_net(cd, &amp;amp;init_net);
}
void cache_unregister(struct cache_detail *cd)
{
        cache_unregister_net(cd, &amp;amp;init_net);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;To keep compatibility with former kernel versions, &lt;br/&gt;
cache_register_net() and cache_unregister_net() can&lt;br/&gt;
be applied instead, rather than the old and &lt;br/&gt;
removed cache_register() and cache_unregister().&lt;/p&gt;

&lt;p&gt;I provide a patch to fix it.&lt;/p&gt;</description>
                <environment>Debian Wheezy with Lustre Patched Kernel 3.6.11</environment>
        <key id="21132">LU-4012</key>
            <summary>GSS upcall routine fails due to removed generic cache routines in Linux kernels &gt;= 3.4.X</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="1">Fixed</resolution>
                                        <assignee username="utopiabound">Nathaniel Clark</assignee>
                                    <reporter username="thomas.stibor">Thomas Stibor</reporter>
                        <labels>
                            <label>gssapi</label>
                            <label>kerberos</label>
                            <label>patch</label>
                    </labels>
                <created>Thu, 26 Sep 2013 07:36:49 +0000</created>
                <updated>Wed, 26 Mar 2014 14:07:07 +0000</updated>
                            <resolved>Sat, 2 Nov 2013 03:25:04 +0000</resolved>
                                    <version>Lustre 2.5.0</version>
                                    <fixVersion>Lustre 2.6.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="69820" author="pjones" created="Thu, 24 Oct 2013 18:05:21 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/#/c/7770/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/7770/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="70559" author="pjones" created="Sat, 2 Nov 2013 03:25:04 +0000"  >&lt;p&gt;Landed for 2.6&lt;/p&gt;</comment>
                            <comment id="72807" author="simmonsja" created="Wed, 4 Dec 2013 15:26:49 +0000"  >&lt;p&gt;Going through the GSS compile issue I get I noticed problems related to this patch. For RHEL6.4 kernels cache_register_net is not exported which causes this error:&lt;/p&gt;

&lt;p&gt;WARNING: &quot;cache_register_net&quot; &lt;span class=&quot;error&quot;&gt;&amp;#91;/data/buildsystem/jsimmons-head/rpmbuild/BUILD/lustre-2.5.52/lustre/ptlrpc/gss/ptlrpc_gss.ko&amp;#93;&lt;/span&gt; undefined!&lt;br/&gt;
WARNING: &quot;cache_unregister_net&quot; &lt;span class=&quot;error&quot;&gt;&amp;#91;/data/buildsystem/jsimmons-head/rpmbuild/BUILD/lustre-2.5.52/lustre/ptlrpc/gss/ptlrpc_gss.ko&amp;#93;&lt;/span&gt; undefined!&lt;/p&gt;</comment>
                            <comment id="73058" author="thomas.stibor" created="Mon, 9 Dec 2013 09:31:13 +0000"  >&lt;p&gt;cache_register_net/cache_unregister_net was introducted in 2.6.37 and it not available in prior Kernel versions.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;thomas@[SSH]denbp068:[1]~/linux/linux-stable/net/sunrpc&amp;gt;git checkout linux-2.6.36.y
Checking out files: 100% (41297/41297), done.
Switched to branch &apos;linux-2.6.36.y&apos;
thomas@[SSH]denbp068:~/linux/linux-stable/net/sunrpc&amp;gt;grep -r &quot;cache_register_net&quot;
thomas@[SSH]denbp068:[1]~/linux/linux-stable/net/sunrpc&amp;gt;git checkout linux-2.6.37.y
Checking out files: 100% (11077/11077), done.
Switched to branch &apos;linux-2.6.37.y&apos;
thomas@[SSH]denbp068:~/linux/linux-stable/net/sunrpc&amp;gt;grep -r &quot;cache_register_net&quot;
cache.c:int cache_register_net(struct cache_detail *cd, struct net *net)
cache.c:        return cache_register_net(cd, &amp;amp;init_net);
svcauth_unix.c: err = cache_register_net(cd, net);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Which Kernel version will be used in 2.6? &lt;br/&gt;
If RHEL6.4 (2.6.36-....) then we have provide compatibility.&lt;/p&gt;

&lt;p&gt;Cheers&lt;br/&gt;
 Thomas&lt;/p&gt;
</comment>
                            <comment id="73068" author="pjones" created="Mon, 9 Dec 2013 13:22:35 +0000"  >&lt;p&gt;Thomas&lt;/p&gt;

&lt;p&gt;atm 2.6 is currently targeted for RHEL6.5 (2.6.32-431.el6). Is cache_register_net/cache_unregister_net something that we could reasonably ask RH to include in an upcoming kernel update?&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="73075" author="thomas.stibor" created="Mon, 9 Dec 2013 15:07:31 +0000"  >&lt;p&gt;Hello Peter,&lt;/p&gt;

&lt;p&gt;I think for providing compatibility to RHEL6.5 (2.6.32-431.el6) it is most straightforward by using #ifdef check, e.g.&lt;br/&gt;
as follows&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;#
# cache_register/cache_unregister are removed since 3.4
#
AC_DEFUN([LC_HAVE_CACHE_REGISTER_NET],
[AC_MSG_CHECKING([if have cache_register_net])
LB_LINUX_TRY_COMPILE([
	#include &amp;lt;linux/sunrpc/cache.h&amp;gt;
],[
	cache_register_net(NULL, NULL);
],[
	AC_DEFINE(HAVE_CACHE_REGISTER_NET, 1,
		  [have cache_register_net])
	AC_MSG_RESULT([yes])
],[
	AC_MSG_RESULT([no])
])
])
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I will provide a patch to fix this problem.&lt;/p&gt;

&lt;p&gt;Cheers&lt;br/&gt;
 Thomas&lt;/p&gt;</comment>
                    </comments>
                    <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|hzw427:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10752</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>