<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:56:07 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-5974] Remove checksum compatibility with Lustre 1.8</title>
                <link>https://jira.whamcloud.com/browse/LU-5974</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;From comments in the Lustre code, file lustre/ptlrpc/pack_generic.c,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In 1.6 and 1.8 the checksum was computed only on struct ptlrpc_body as it was in 1.6 (88 bytes, smaller than the full size in 1.8).  It makes more sense to compute the checksum on the full ptlrpc_body, regardless of what size it is, but in order to keep interoperability with 1.8 we can optionally also checksum only the first 88 bytes (caller decides).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;In Lustre 2.8, tag 2.7.53 and above, checksum compatibility with Lustre 1.8 goes away. If it is not desirable to end compatibility with Lustre 1.8, the following code needs to be modified else it can be removed.&lt;/p&gt;

&lt;p&gt;In lustre/include/lustre_net.h, using LUSTRE_VERSION_CODE, the checksum compatibility input flag is dropped in the definition of lustre_msg_calc_cksum();  the int &#8220;compat18&#8221; flag is dropped.&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;#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 7, 53, 0)
__u32 lustre_msg_calc_cksum(struct lustre_msg *msg, int compat18);
#else
__u32 lustre_msg_calc_cksum(struct lustre_msg *msg);
#endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In file lustre/ptlrpc/pack_generic.c, the definition of lustre_msg_calc_cksum() changes based on what version of Lustre is running:&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;#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 7, 53, 0)
/*
* In 1.6 and 1.8 the checksum was computed only on struct ptlrpc_body as
* it was in 1.6 (88 bytes, smaller than the full size in 1.8).  It makes
* more sense to compute the checksum on the full ptlrpc_body, regardless
* of what size it is, but in order to keep interoperability with 1.8 we
* can optionally also checksum only the first 88 bytes (caller decides). */
# define ptlrpc_body_cksum_size_compat18         88

__u32 lustre_msg_calc_cksum(struct lustre_msg *msg, int compat18)
#else
__u32 lustre_msg_calc_cksum(struct lustre_msg *msg)
#endif
{
	switch (msg-&amp;gt;lm_magic) {
	case LUSTRE_MSG_MAGIC_V2: {
		struct ptlrpc_body *pb = lustre_msg_ptlrpc_body(msg);
#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 7, 53, 0)
		__u32 len = compat18 ? ptlrpc_body_cksum_size_compat18 :
			    lustre_msg_buflen(msg, MSG_PTLRPC_BODY_OFF);
#else
		__u32 len = lustre_msg_buflen(msg, MSG_PTLRPC_BODY_OFF);
#endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In file lustre/ptlrpc/sec_null.c, in function null_ctx_verify():&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;#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 7, 53, 0)
		if (lustre_msghdr_get_flags(req-&amp;gt;rq_reqmsg) &amp;amp;
		    MSGHDR_CKSUM_INCOMPAT18)
			cksumc = lustre_msg_calc_cksum(req-&amp;gt;rq_repmsg, 0);
		else
			cksumc = lustre_msg_calc_cksum(req-&amp;gt;rq_repmsg, 1);
#else
		cksumc = lustre_msg_calc_cksum(req-&amp;gt;rq_repmsg);
#endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and in null_authorize(),&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;#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 7, 53, 0)
		if (lustre_msghdr_get_flags(req-&amp;gt;rq_reqmsg) &amp;amp;
		    MSGHDR_CKSUM_INCOMPAT18)
			cksum = lustre_msg_calc_cksum(rs-&amp;gt;rs_repbuf, 0);
		else
			cksum = lustre_msg_calc_cksum(rs-&amp;gt;rs_repbuf, 1);
#else
		cksum = lustre_msg_calc_cksum(rs-&amp;gt;rs_repbuf);
#endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="27781">LU-5974</key>
            <summary>Remove checksum compatibility with Lustre 1.8</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="yujian">Jian Yu</assignee>
                                    <reporter username="jamesanunez">James Nunez</reporter>
                        <labels>
                            <label>easy</label>
                            <label>patch</label>
                    </labels>
                <created>Wed, 3 Dec 2014 23:15:33 +0000</created>
                <updated>Tue, 8 Sep 2015 17:54:45 +0000</updated>
                            <resolved>Thu, 3 Sep 2015 15:13:19 +0000</resolved>
                                    <version>Lustre 2.8.0</version>
                                    <fixVersion>Lustre 2.8.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="125044" author="gerrit" created="Tue, 25 Aug 2015 16:46:20 +0000"  >&lt;p&gt;Giuseppe Di Natale (dinatale2@llnl.gov) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/16076&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16076&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5974&quot; title=&quot;Remove checksum compatibility with Lustre 1.8&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5974&quot;&gt;&lt;del&gt;LU-5974&lt;/del&gt;&lt;/a&gt; ptlrpc: Removed checksum compatibility with 1.8&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: c39f8570522d8272db5843164fc5c01738f8287b&lt;/p&gt;</comment>
                            <comment id="126120" author="gerrit" created="Thu, 3 Sep 2015 01:04:28 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/16076/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16076/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5974&quot; title=&quot;Remove checksum compatibility with Lustre 1.8&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5974&quot;&gt;&lt;del&gt;LU-5974&lt;/del&gt;&lt;/a&gt; ptlrpc: Removed checksum compatibility with 1.8&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 02e2a3ccf2a3410610af5a4193cc23bc2c84fb5c&lt;/p&gt;</comment>
                            <comment id="126173" author="jgmitter" created="Thu, 3 Sep 2015 15:13:19 +0000"  >&lt;p&gt;Landed for 2.8.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="29020">LU-6349</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|hzx1tr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>16687</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>