<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:23:30 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-9128] remove OBD_OCD_VERSION-ed out code</title>
                <link>https://jira.whamcloud.com/browse/LU-9128</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;There&apos;s a fair amount of OBD_OCD_VERSION-ed out code in lustre/utils/ and elsewhere which can be removed or made unconditional:&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;x:lustre-release# git grep &apos;OBD_OCD_VERSION(2, [0-9],&apos;
lustre/llite/dir.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 50, 0)
lustre/ofd/ofd_dev.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 8, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;gt;= OBD_OCD_VERSION(2, 6, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;gt;= OBD_OCD_VERSION(2, 6, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;gt;= OBD_OCD_VERSION(2, 6, 53, 0)
lustre/utils/lfs.c:#endif /* LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0) */
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD _VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;gt;= OBD_OCD_VERSION(2, 6, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;gt;= OBD_OCD_VERSION(2, 6, 53, 0)
lustre/utils/lfs.c:#endif /* LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0) */
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE &amp;gt;= OBD_OCD_VERSION(2, 6, 53, 0)
lustre/utils/liblustreapi.c:#if LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 9, 53, 0)
lustre/utils/liblustreapi_util.c:#if LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 8, 53, 0)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="43859">LU-9128</key>
            <summary>remove OBD_OCD_VERSION-ed out code</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="wc-triage">WC Triage</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 Feb 2017 16:22:51 +0000</created>
                <updated>Mon, 27 Sep 2021 18:22:27 +0000</updated>
                            <resolved>Mon, 27 Sep 2021 18:22:27 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="184977" author="simmonsja" created="Wed, 15 Feb 2017 16:44:59 +0000"  >&lt;p&gt;I was pondering if lustre_ver.h really needs to be exposed to user land the other day. It can&apos;t be&#160;guaranteed that the tools will be running against a lustre kernel version it was built again.&lt;/p&gt;</comment>
                            <comment id="184980" author="jhammond" created="Wed, 15 Feb 2017 16:58:28 +0000"  >&lt;p&gt;&amp;gt; It can&apos;t be guaranteed that the tools will be running against a lustre kernel version it was built again.&lt;/p&gt;

&lt;p&gt;I agree but when it comes to utilities the version is (mostly) not being used in that way (i.e. to manage ABI compatibility). Instead it&apos;s being used to manage deprecation and removal of the utility features, options, etc.&lt;/p&gt;</comment>
                            <comment id="185001" author="jgmitter" created="Wed, 15 Feb 2017 18:18:03 +0000"  >&lt;p&gt;Hi Steve,&lt;/p&gt;

&lt;p&gt;Can you please have a look at this one?&lt;/p&gt;

&lt;p&gt;Thanks.&lt;br/&gt;
Joe&lt;/p&gt;</comment>
                            <comment id="185005" author="sguminsx" created="Wed, 15 Feb 2017 18:34:43 +0000"  >&lt;p&gt;I&apos;ll add this to my queue.&lt;/p&gt;</comment>
                            <comment id="223001" author="jamesanunez" created="Fri, 9 Mar 2018 20:13:06 +0000"  >&lt;p&gt;As of today, Lustre 2.10.58+ still has the following version checks for version 2.x with x &amp;lt;=11:&lt;/p&gt;

&lt;p&gt;lustre/ofd/ofd_dev.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 8, 53, 0)&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-java&quot;&gt;1779 out_nolock:
1780         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc == 0) {
1781 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 8, 53, 0)
1782                 struct ofd_thread_info  *info = ofd_info(tsi-&amp;gt;tsi_env);
1783                 struct lu_fid           *fid = &amp;amp;info-&amp;gt;fti_fid;
1784 
1785                 /* For compatible purpose, it needs to convert back to
1786                  * OST ID before put it on wire. */
1787                 *fid = rep_oa-&amp;gt;o_oi.oi_fid;
1788                 fid_to_ostid(fid, &amp;amp;rep_oa-&amp;gt;o_oi);
1789 #endif
1790                 rep_oa-&amp;gt;o_valid |= OBD_MD_FLID | OBD_MD_FLGROUP;
1791         }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/utils/liblustreapi_util.c:#if LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 8, 53, 0)&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-java&quot;&gt; 160 &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; llapi_get_version(&lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; *buffer, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; buffer_size, &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; **version)
 161 {
 162         &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; rc;
 163 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 8, 53, 0)
 164         &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; bool printed;
 165         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!printed) {
 166                 fprintf(stderr,
 167                         &lt;span class=&quot;code-quote&quot;&gt;&quot;%s deprecated, use llapi_get_version_string()\n&quot;&lt;/span&gt;,
 168                         __func__);
 169                 printed = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
 170         }
 171 #endif
 172 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/llite/dir.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 50, 0)&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-java&quot;&gt;1260 
1261 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 50, 0)
1262                 mode = data-&amp;gt;ioc_type != 0 ? data-&amp;gt;ioc_type : S_IRWXUGO;
1263 #&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;
1264                 mode = data-&amp;gt;ioc_type;
1265 #endif
1266                 rc = ll_dir_setdirstripe(dentry, lum, lumlen, filename, mode);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/utils/liblustreapi.c:#if LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 9, 59, 0)&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-java&quot;&gt;4395 &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; llapi_mv(&lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; *path, struct find_param *param)
4396 {
4397 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 9, 59, 0)
4398         &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; bool printed;
4399 
4400         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!printed) {
4401                 llapi_error(LLAPI_MSG_ERROR, -ESTALE,
4402                             &lt;span class=&quot;code-quote&quot;&gt;&quot;llapi_mv() is deprecated, use llapi_migrate_mdt()\n&quot;&lt;/span&gt;);
4403                 printed = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
4404         }
4405 #endif
4406         &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; llapi_migrate_mdt(path, param);
4407 }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/utils/mount_lustre.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 10, 53, 0)&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-java&quot;&gt;  61 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 10, 53, 0)
  62 /*
  63  * LU-1783
  64  * We only #include a kernel level include file here because
  65  * important MS_ flag #defines are missing from the SLES version
  66  * of sys/mount.h
  67  * In the &lt;span class=&quot;code-keyword&quot;&gt;future&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; SLES updates sys/mount.h to have a more complete
  68  * set of flag #defines we should stop including linux/fs.h
  69  */
  70 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; !defined(MS_RDONLY)
  71 #include &amp;lt;linux/fs.h&amp;gt;
  72 #endif
  73 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/include/uapi/linux/lustre/lustre_idl.h:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 11, 56, 0)&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-java&quot;&gt;2106 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 11, 56, 0)
2107 /* Since lustre 2.8, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; flag will not be needed, instead &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; DEAD
2108  * and orphan flags will be stored in LMA (see LMAI_ORPHAN)
2109  * Keep &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; flag just &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; LFSCK, because it still might meet such
2110  * flag when it checks the old FS */
2111 #define LMV_HASH_FLAG_DEAD      0x40000000
2112 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="258020" author="jamesanunez" created="Fri, 8 Nov 2019 18:46:05 +0000"  >&lt;p&gt;Update: As of November 1, 2019, here are all the conditional code based on Lustre version up to 2.14.50:&lt;/p&gt;

&lt;p&gt;lustre/ofd/ofd_dev.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 8, 53, 0)&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-java&quot;&gt;
1726 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 8, 53, 0)
1727                 struct ofd_thread_info  *info = ofd_info(tsi-&amp;gt;tsi_env);
1728                 struct lu_fid           *fid = &amp;amp;info-&amp;gt;fti_fid;
1729 
1730                 /* For compatible purpose, it needs to convert back to
1731                  * OST ID before put it on wire. */
1732                 *fid = rep_oa-&amp;gt;o_oi.oi_fid;
1733                 fid_to_ostid(fid, &amp;amp;rep_oa-&amp;gt;o_oi);
1734 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/utils/liblustreapi_util.c:#if LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 8, 53, 0)&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-java&quot;&gt;
 164 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 8, 53, 0)
 165         &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; bool printed;
 166         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!printed) {
 167                 fprintf(stderr,
 168                         &lt;span class=&quot;code-quote&quot;&gt;&quot;%s deprecated, use llapi_get_version_string()\n&quot;&lt;/span&gt;,
 169                         __func__);
 170                 printed = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
 171         }
 172 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/llite/dir.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 50, 0)&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-java&quot;&gt;
1427 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 9, 50, 0)
1428                 mode = data-&amp;gt;ioc_type != 0 ? data-&amp;gt;ioc_type : S_IRWXUGO;
1429 #&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;
1430                 mode = data-&amp;gt;ioc_type;
1431 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/utils/liblustreapi.c:#if LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 9, 59, 0)&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-java&quot;&gt;
5076 &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; llapi_mv(&lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; *path, struct find_param *param)
5077 {
5078 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;gt; OBD_OCD_VERSION(2, 9, 59, 0)
5079         &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; bool printed;
5080 
5081         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!printed) {
5082                 llapi_error(LLAPI_MSG_ERROR, -ESTALE,
5083                             &lt;span class=&quot;code-quote&quot;&gt;&quot;llapi_mv() is deprecated, use llapi_migrate_mdt()\n&quot;&lt;/span&gt;);
5084                 printed = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
5085         }
5086 #endif
5087         &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; llapi_migrate_mdt(path, param);
5088 }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/utils/mount_lustre.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 10, 53, 0)&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-java&quot;&gt;
  61 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 10, 53, 0)
  62 /*
  63  * LU-1783
  64  * We only #include a kernel level include file here because
  65  * important MS_ flag #defines are missing from the SLES version
  66  * of sys/mount.h
  67  * In the &lt;span class=&quot;code-keyword&quot;&gt;future&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; SLES updates sys/mount.h to have a more complete
  68  * set of flag #defines we should stop including linux/fs.h
  69  */
  70 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; !defined(MS_RDONLY)
  71 #include &amp;lt;linux/fs.h&amp;gt;
  72 #endif
  73 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/llite/llite_lib.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 12, 50, 0)&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-java&quot;&gt;
 464 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 12, 50, 0)
 465         data-&amp;gt;ocd_connect_flags |= OBD_CONNECT_LOCKAHEAD_OLD;
 466 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/llite/dir.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
 414 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
 415 &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; ll_send_mgc_param(struct obd_export *mgc, &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; *string)
 416 {
 417         struct mgs_send_param *msp;
 418         &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; rc = 0;
 419 
 420         OBD_ALLOC_PTR(msp);
 421         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!msp)
 422                 &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; -ENOMEM;
 423 
 424         strlcpy(msp-&amp;gt;mgs_param, string, sizeof(msp-&amp;gt;mgs_param));
 425         rc = obd_set_info_async(NULL, mgc, sizeof(KEY_SET_INFO), KEY_SET_INFO,
 426                                 sizeof(struct mgs_send_param), msp, NULL);
 427         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc)
 428                 CERROR(&lt;span class=&quot;code-quote&quot;&gt;&quot;Failed to set parameter: %d\n&quot;&lt;/span&gt;, rc);
 429         OBD_FREE_PTR(msp);
 430 
 431         &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; rc;
 432 }
 433 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/llite/dir.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
 561 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
 562         struct lustre_sb_info *lsi = s2lsi(inode-&amp;gt;i_sb);
 563         struct obd_device *mgc = lsi-&amp;gt;lsi_mgc;
 564 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/llite/dir.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
 626 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
 627         /*
 628          * 2.9 server has stored filesystem &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; stripe in ROOT xattr,
 629          * and it&apos;s stored into system config &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; backward compatibility.
 630          *
 631          * In the following we use the fact that LOV_USER_MAGIC_V1 and
 632          * LOV_USER_MAGIC_V3 have the same initial fields so we &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; not
 633          * need the make the distiction between the 2 versions
 634          */
 635         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (set_default &amp;amp;&amp;amp; mgc-&amp;gt;u.cli.cl_mgc_mgsexp &amp;amp;&amp;amp;
 636             (lump == NULL ||
 637              le32_to_cpu(lump-&amp;gt;lmm_magic) == LOV_USER_MAGIC_V1 ||
 638              le32_to_cpu(lump-&amp;gt;lmm_magic) == LOV_USER_MAGIC_V3)) {
 639                 &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; *param = NULL;
 640                 &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; *buf;
 641 
 642                 OBD_ALLOC(param, MGS_PARAM_MAXLEN);
 643                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (param == NULL)
 644                         GOTO(end, rc = -ENOMEM);
 645 
 646                 buf = param;
 647                 &lt;span class=&quot;code-comment&quot;&gt;/* Get fsname and assume devname to be -MDT0000. */&lt;/span&gt;
 648                 snprintf(buf, MGS_PARAM_MAXLEN, &lt;span class=&quot;code-quote&quot;&gt;&quot;%s-MDT0000.lov&quot;&lt;/span&gt;,
 649                          sbi-&amp;gt;ll_fsname);
 650                 buf += strlen(buf);
 651 
 652                 &lt;span class=&quot;code-comment&quot;&gt;/* Set root stripesize */&lt;/span&gt;
 653                 snprintf(buf, MGS_PARAM_MAXLEN, &lt;span class=&quot;code-quote&quot;&gt;&quot;.stripesize=%u&quot;&lt;/span&gt;,
 654                          lump ? le32_to_cpu(lump-&amp;gt;lmm_stripe_size) : 0);
 655                 rc = ll_send_mgc_param(mgc-&amp;gt;u.cli.cl_mgc_mgsexp, param);
 656                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc)
 657                         GOTO(end, rc);
 658 
 659                 &lt;span class=&quot;code-comment&quot;&gt;/* Set root stripecount */&lt;/span&gt;
 660                 snprintf(buf, MGS_PARAM_MAXLEN, &lt;span class=&quot;code-quote&quot;&gt;&quot;.stripecount=%hd&quot;&lt;/span&gt;,
 661                          lump ? le16_to_cpu(lump-&amp;gt;lmm_stripe_count) : 0);
 662                 rc = ll_send_mgc_param(mgc-&amp;gt;u.cli.cl_mgc_mgsexp, param);
 663                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc)
 664                         GOTO(end, rc);
 665 
 666                 &lt;span class=&quot;code-comment&quot;&gt;/* Set root stripeoffset */&lt;/span&gt;
 667                 snprintf(buf, MGS_PARAM_MAXLEN, &lt;span class=&quot;code-quote&quot;&gt;&quot;.stripeoffset=%hd&quot;&lt;/span&gt;,
 668                          lump ? le16_to_cpu(lump-&amp;gt;lmm_stripe_offset) :
 669                                 (typeof(lump-&amp;gt;lmm_stripe_offset))(-1));
 670                 rc = ll_send_mgc_param(mgc-&amp;gt;u.cli.cl_mgc_mgsexp, param);
 671 
 672 end:
 673                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (param != NULL)
 674                         OBD_FREE(param, MGS_PARAM_MAXLEN);
 675         }
 676 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/mgc/mgc_request.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
1067 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
1068 &lt;span class=&quot;code-comment&quot;&gt;/* Send parameter to MGS*/&lt;/span&gt;
1069 &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; mgc_set_mgs_param(struct obd_export *exp,
1070                              struct mgs_send_param *msp)
1071 {
1072         struct ptlrpc_request *req;
1073         struct mgs_send_param *req_msp, *rep_msp;
1074         &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; rc;
1075         ENTRY;
1076 
1077         req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp),
1078                                         &amp;amp;RQF_MGS_SET_INFO, LUSTRE_MGS_VERSION,
1079                                         MGS_SET_INFO);
1080         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!req)
1081                 RETURN(-ENOMEM);
1082 
1083         req_msp = req_capsule_client_get(&amp;amp;req-&amp;gt;rq_pill, &amp;amp;RMF_MGS_SEND_PARAM);
1084         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!req_msp) {
1085                 ptlrpc_req_finished(req);
1086                 RETURN(-ENOMEM);
1087         }
1088 
1089         memcpy(req_msp, msp, sizeof(*req_msp));
1090         ptlrpc_request_set_replen(req);
1091 
1092         &lt;span class=&quot;code-comment&quot;&gt;/* Limit how &lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; we will wait &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the enqueue to complete */&lt;/span&gt;
1093         req-&amp;gt;rq_delay_limit = MGC_SEND_PARAM_LIMIT;
1094         rc = ptlrpc_queue_wait(req);
1095         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!rc) {
1096                 rep_msp = req_capsule_server_get(&amp;amp;req-&amp;gt;rq_pill, &amp;amp;RMF_MGS_SEND_PARAM);
1097                 memcpy(msp, rep_msp, sizeof(*rep_msp));
1098         }
1099 
1100         ptlrpc_req_finished(req);
1101 
1102         RETURN(rc);
1103 }
1104 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/mgc/mgc_request.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
1280 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
1281         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (KEY_IS(KEY_SET_INFO)) {
1282                 struct mgs_send_param *msp;
1283 
1284                 msp = (struct mgs_send_param *)val;
1285                 rc =  mgc_set_mgs_param(exp, msp);
1286                 RETURN(rc);
1287         }
1288 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/mgs/mgs_handler.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
  99 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
 100 &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; mgs_set_info(struct tgt_session_info *tsi)
 101 {
 102         struct mgs_thread_info  *mgi;
 103         struct mgs_send_param   *msp, *rep_msp;
 104         struct lustre_cfg       *lcfg;
 105         size_t                   param_len;
 106         &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt;                    *s;
 107         &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;                      rc;
 108 
 109         ENTRY;
 110 
 111         mgi = mgs_env_info(tsi-&amp;gt;tsi_env);
 112         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (IS_ERR(mgi))
 113                 RETURN(err_serious(PTR_ERR(mgi)));
 114 
 115         msp = req_capsule_client_get(tsi-&amp;gt;tsi_pill, &amp;amp;RMF_MGS_SEND_PARAM);
 116         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (msp == NULL)
 117                 RETURN(err_serious(-EFAULT));
 118 
 119         param_len = strnlen(msp-&amp;gt;mgs_param, sizeof(msp-&amp;gt;mgs_param));
 120         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (param_len == 0 || param_len == sizeof(msp-&amp;gt;mgs_param))
 121                 RETURN(-EINVAL);
 122 
 123         &lt;span class=&quot;code-comment&quot;&gt;/* We only allow &lt;span class=&quot;code-quote&quot;&gt;&apos;*.lov.stripe{size,count,offset}=*&apos;&lt;/span&gt; from an RPC. */&lt;/span&gt;
 124         s = strchr(msp-&amp;gt;mgs_param, &lt;span class=&quot;code-quote&quot;&gt;&apos;.&apos;&lt;/span&gt;);
 125         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (s == NULL)
 126                 RETURN(-EINVAL);
 127 
 128         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!str_starts_with(s + 1, &lt;span class=&quot;code-quote&quot;&gt;&quot;lov.stripesize=&quot;&lt;/span&gt;) &amp;amp;&amp;amp;
 129             !str_starts_with(s + 1, &lt;span class=&quot;code-quote&quot;&gt;&quot;lov.stripecount=&quot;&lt;/span&gt;) &amp;amp;&amp;amp;
 130             !str_starts_with(s + 1, &lt;span class=&quot;code-quote&quot;&gt;&quot;lov.stripeoffset=&quot;&lt;/span&gt;))
 131                 RETURN(-EINVAL);
 132 
 133         &lt;span class=&quot;code-comment&quot;&gt;/* Construct lustre_cfg structure to pass to function mgs_set_param */&lt;/span&gt;
 134         lustre_cfg_bufs_reset(&amp;amp;mgi-&amp;gt;mgi_bufs, NULL);
 135         lustre_cfg_bufs_set_string(&amp;amp;mgi-&amp;gt;mgi_bufs, 1, msp-&amp;gt;mgs_param);
 136         OBD_ALLOC(lcfg, lustre_cfg_len(mgi-&amp;gt;mgi_bufs.lcfg_bufcount,
 137                                        mgi-&amp;gt;mgi_bufs.lcfg_buflen));
 138         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!lcfg)
 139                 RETURN(-ENOMEM);
 140         lustre_cfg_init(lcfg, LCFG_PARAM, &amp;amp;mgi-&amp;gt;mgi_bufs);
 141 
 142         rc = mgs_set_param(tsi-&amp;gt;tsi_env, exp2mgs_dev(tsi-&amp;gt;tsi_exp), lcfg);
 143         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc) {
 144                 LCONSOLE_WARN(&lt;span class=&quot;code-quote&quot;&gt;&quot;%s: Unable to set parameter %s: %d\n&quot;&lt;/span&gt;,
 145                               tgt_name(tsi-&amp;gt;tsi_tgt), msp-&amp;gt;mgs_param, rc);
 146                 GOTO(out_cfg, rc);
 147         }
 148 
 149         &lt;span class=&quot;code-comment&quot;&gt;/* send back the whole msp in the reply */&lt;/span&gt;
 150         rep_msp = req_capsule_server_get(tsi-&amp;gt;tsi_pill, &amp;amp;RMF_MGS_SEND_PARAM);
 151         *rep_msp = *msp;
 152         EXIT;
 153 out_cfg:
 154         OBD_FREE(lcfg, lustre_cfg_len(lcfg-&amp;gt;lcfg_bufcount, lcfg-&amp;gt;lcfg_buflens));
 155         &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; rc;
 156 }
 157 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/mgs/mgs_handler.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
1205 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
1206 TGT_MGS_HDL(HAS_REPLY | IS_MUTABLE,     MGS_SET_INFO,    mgs_set_info),
1207 #endif
1208 TGT_MGS_HDL(HAS_REPLY | IS_MUTABLE,     MGS_TARGET_REG,  mgs_target_reg),
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
  74 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
  75 &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct req_msg_field *mgs_set_info[] = {
  76         &amp;amp;RMF_PTLRPC_BODY,
  77         &amp;amp;RMF_MGS_SEND_PARAM
  78 };
  79 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
 760 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
 761         &amp;amp;RQF_MGS_SET_INFO,
 762 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
 905 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
 906 struct req_msg_field RMF_MGS_SEND_PARAM =
 907         DEFINE_MSGF(&lt;span class=&quot;code-quote&quot;&gt;&quot;mgs_send_param&quot;&lt;/span&gt;, 0,
 908                     sizeof(struct mgs_send_param),
 909                     NULL, NULL);
 910 EXPORT_SYMBOL(RMF_MGS_SEND_PARAM);
 911 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
1350 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
1351 struct req_format RQF_MGS_SET_INFO =
1352         DEFINE_REQ_FMT0(&lt;span class=&quot;code-quote&quot;&gt;&quot;MGS_SET_INFO&quot;&lt;/span&gt;, mgs_set_info,
1353                          mgs_set_info);
1354 EXPORT_SYMBOL(RQF_MGS_SET_INFO);
1355 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/utils/wirecheck.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
1613 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
1614 &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; void
1615 check_mgs_send_param(void)
1616 {
1617         BLANK_LINE();
1618         CHECK_STRUCT(mgs_send_param);
1619         CHECK_CVALUE(MGS_PARAM_MAXLEN);
1620         CHECK_MEMBER(mgs_send_param, mgs_param[MGS_PARAM_MAXLEN]);
1621 }
1622 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/utils/wirecheck.c:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
2896 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
2897         check_mgs_send_param();
2898 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lustre/include/uapi/linux/lustre/lustre_idl.h:#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)&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-java&quot;&gt;
2560 #&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 13, 53, 0)
2561 #define MGS_PARAM_MAXLEN 1024
2562 #define KEY_SET_INFO &lt;span class=&quot;code-quote&quot;&gt;&quot;set_info&quot;&lt;/span&gt;
2563 
2564 struct mgs_send_param {
2565         &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt;             mgs_param[MGS_PARAM_MAXLEN];
2566 };
2567 #endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="266581" author="adilger" created="Wed, 1 Apr 2020 16:07:34 +0000"  >&lt;p&gt;The 2.13.53 conditionals have been removed in patch &lt;a href=&quot;https://review.whamcloud.com/38106&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38106&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8454&quot; title=&quot;non-root user is able to change stripe size for mount point&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8454&quot;&gt;&lt;del&gt;LU-8454&lt;/del&gt;&lt;/a&gt; Remove struct mgs_send_param and its users&lt;/tt&gt;&quot; and the ones for the older versions are removed in patch &lt;a href=&quot;https://review.whamcloud.com/38109&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38109&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6179&quot; title=&quot;Lock ahead - Request extent locks from userspace&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6179&quot;&gt;&lt;del&gt;LU-6179&lt;/del&gt;&lt;/a&gt; llite: remove LOCKAHEAD_OLD compatibility&lt;/tt&gt;&quot; .&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="43824">LU-9123</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="43846">LU-9125</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="29243">LU-6401</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="28520">LU-6202</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|hzz3xr:</customfieldvalue>

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