<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:29:20 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-16709] LNet: locking multiple NIDs of the same MR peer as primary results in incorrect representation</title>
                <link>https://jira.whamcloud.com/browse/LU-16709</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;System configurations which result in Lustre layer specifying the same MR peer using multiple NIDs cause an issue with primary NID locking logic: when &quot;primary nid locking&quot; feature is enabled, LNet creates separate peer records, each record containing one NID of the MR peer as &quot;locked primary&quot;. After the discovery completes in the background, these records are not being merged. This results in incorrect peer representation. Here&apos;s an example:&lt;/p&gt;

&lt;p&gt;server:&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;
# lnetctl net show
net:
&#160; &#160; - net type: lo
&#160; &#160; &#160; local NI(s):
&#160; &#160; &#160; &#160; - nid: 0@lo
&#160; &#160; &#160; &#160; &#160; status: up
&#160; &#160; - net type: tcp
&#160; &#160; &#160; local NI(s):
&#160; &#160; &#160; &#160; - nid: 192.168.122.50@tcp
&#160; &#160; &#160; &#160; &#160; status: up
&#160; &#160; &#160; &#160; &#160; interfaces:
&#160; &#160; &#160; &#160; &#160; &#160; &#160; 0: eth0
&#160; &#160; &#160; &#160; - nid: 192.168.122.134@tcp
&#160; &#160; &#160; &#160; &#160; status: up
&#160; &#160; &#160; &#160; &#160; interfaces:
&#160; &#160; &#160; &#160; &#160; &#160; &#160; 0: ens12
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;client:&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;
# mount -t lustre 192.168.122.134@tcp:192.168.122.50@tcp:/lustrewt /mnt/lustrefs
# lnetctl peer show&#160;
peer:
&#160; &#160; - primary nid: 192.168.122.134@tcp
&#160; &#160; &#160; Multi-Rail: True
&#160; &#160; &#160; peer ni:
&#160; &#160; &#160; &#160; - nid: 192.168.122.134@tcp
&#160; &#160; &#160; &#160; &#160; state: NA
&#160; &#160; - primary nid: 192.168.122.50@tcp
&#160; &#160; &#160; Multi-Rail: True
&#160; &#160; &#160; peer ni:
&#160; &#160; &#160; &#160; - nid: 192.168.122.50@tcp
&#160; &#160; &#160; &#160; &#160; state: NA
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="75418">LU-16709</key>
            <summary>LNet: locking multiple NIDs of the same MR peer as primary results in incorrect representation</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="ssmirnov">Serguei Smirnov</assignee>
                                    <reporter username="ssmirnov">Serguei Smirnov</reporter>
                        <labels>
                            <label>lnet</label>
                            <label>multi-rail</label>
                    </labels>
                <created>Tue, 4 Apr 2023 17:26:24 +0000</created>
                <updated>Sun, 16 Jul 2023 23:07:35 +0000</updated>
                            <resolved>Wed, 28 Jun 2023 22:49:06 +0000</resolved>
                                                    <fixVersion>Lustre 2.16.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="368452" author="hornc" created="Tue, 4 Apr 2023 21:27:29 +0000"  >&lt;blockquote&gt;&lt;p&gt;# mount -t lustre 192.168.122.134@tcp:192.168.122.50@tcp:/lustrewt /mnt/lustrefs&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This is an incorrect NID specification, isn&apos;t it? NIDs belonging to the same server are supposed to be comma-separated. NIDs belonging to other servers should be colon-separated.&lt;/p&gt;

&lt;p&gt;LNet arguably did the correct thing here.&lt;/p&gt;</comment>
                            <comment id="368501" author="sihara" created="Wed, 5 Apr 2023 07:53:56 +0000"  >&lt;p&gt;In my case, the problem still exists even server and server connections without client mount below.&lt;/p&gt;

&lt;p&gt;master without patch&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;# clush -a lnetctl peer show | dshbak  
----------------
ai400x2-3-vm1
----------------
peer:
    - primary nid: 10.0.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.202@o2ib12
          state: NA
        - nid: 10.1.11.202@o2ib12
          state: NA
    - primary nid: 10.0.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.203@o2ib12
          state: NA
        - nid: 10.1.11.203@o2ib12
          state: NA
    - primary nid: 0@lo
      Multi-Rail: False
      peer ni:
        - nid: 0@lo
          state: NA
    - primary nid: 10.0.11.200@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.200@o2ib12
          state: NA
        - nid: 10.1.11.200@o2ib12
          state: NA
    - primary nid: 10.0.11.201@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.201@o2ib12
          state: NA
        - nid: 10.1.11.201@o2ib12
          state: NA
----------------
ai400x2-3-vm2
----------------
peer:
    - primary nid: 10.0.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.202@o2ib12
          state: NA
    - primary nid: 10.1.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.1.11.202@o2ib12
          state: NA
    - primary nid: 10.0.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.203@o2ib12
          state: NA
    - primary nid: 10.1.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.1.11.203@o2ib12
          state: NA
    - primary nid: 0@lo
      Multi-Rail: False
      peer ni:
        - nid: 0@lo
          state: NA
    - primary nid: 10.0.11.200@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.200@o2ib12
          state: NA
        - nid: 10.1.11.200@o2ib12
          state: NA
    - primary nid: 10.0.11.201@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.201@o2ib12
          state: NA
        - nid: 10.1.11.201@o2ib12
          state: NA
----------------
ai400x2-3-vm3
----------------
peer:
    - primary nid: 10.0.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.202@o2ib12
          state: NA
    - primary nid: 10.1.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.1.11.202@o2ib12
          state: NA
    - primary nid: 10.0.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.203@o2ib12
          state: NA
    - primary nid: 10.1.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.1.11.203@o2ib12
          state: NA
    - primary nid: 0@lo
      Multi-Rail: False
      peer ni:
        - nid: 0@lo
          state: NA
    - primary nid: 10.0.11.200@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.200@o2ib12
          state: NA
        - nid: 10.1.11.200@o2ib12
          state: NA
    - primary nid: 10.0.11.201@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.201@o2ib12
          state: NA
        - nid: 10.1.11.201@o2ib12
          state: NA
----------------
ai400x2-3-vm4
----------------
peer:
    - primary nid: 10.0.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.202@o2ib12
          state: NA
        - nid: 10.1.11.202@o2ib12
          state: NA
    - primary nid: 10.0.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.203@o2ib12
          state: NA
    - primary nid: 10.1.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.1.11.203@o2ib12
          state: NA
    - primary nid: 0@lo
      Multi-Rail: False
      peer ni:
        - nid: 0@lo
          state: NA
    - primary nid: 10.0.11.200@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.200@o2ib12
          state: NA
        - nid: 10.1.11.200@o2ib12
          state: NA
    - primary nid: 10.0.11.201@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.201@o2ib12
          state: NA
        - nid: 10.1.11.201@o2ib12
          state: NA
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;After patch &lt;a href=&quot;https://review.whamcloud.com/#/c/fs/lustre-release/+/50530/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/fs/lustre-release/+/50530/&lt;/a&gt;&lt;br/&gt;
the problem resolved and all MR state shows properly.&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;# clush -a lnetctl peer show | dshbak 
----------------
ai400x2-3-vm1
----------------
peer:
    - primary nid: 10.0.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.202@o2ib12
          state: NA
        - nid: 10.1.11.202@o2ib12
          state: NA
    - primary nid: 10.0.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.203@o2ib12
          state: NA
        - nid: 10.1.11.203@o2ib12
          state: NA
    - primary nid: 0@lo
      Multi-Rail: False
      peer ni:
        - nid: 0@lo
          state: NA
    - primary nid: 10.0.11.200@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.200@o2ib12
          state: NA
        - nid: 10.1.11.200@o2ib12
          state: NA
    - primary nid: 10.0.11.201@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.201@o2ib12
          state: NA
        - nid: 10.1.11.201@o2ib12
          state: NA
----------------
ai400x2-3-vm2
----------------
peer:
    - primary nid: 10.0.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.202@o2ib12
          state: NA
        - nid: 10.1.11.202@o2ib12
          state: NA
    - primary nid: 10.0.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.203@o2ib12
          state: NA
        - nid: 10.1.11.203@o2ib12
          state: NA
    - primary nid: 0@lo
      Multi-Rail: False
      peer ni:
        - nid: 0@lo
          state: NA
    - primary nid: 10.0.11.200@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.200@o2ib12
          state: NA
        - nid: 10.1.11.200@o2ib12
          state: NA
    - primary nid: 10.0.11.201@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.201@o2ib12
          state: NA
        - nid: 10.1.11.201@o2ib12
          state: NA
----------------
ai400x2-3-vm3
----------------
peer:
    - primary nid: 10.0.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.202@o2ib12
          state: NA
        - nid: 10.1.11.202@o2ib12
          state: NA
    - primary nid: 10.0.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.203@o2ib12
          state: NA
        - nid: 10.1.11.203@o2ib12
          state: NA
    - primary nid: 0@lo
      Multi-Rail: False
      peer ni:
        - nid: 0@lo
          state: NA
    - primary nid: 10.0.11.200@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.200@o2ib12
          state: NA
        - nid: 10.1.11.200@o2ib12
          state: NA
    - primary nid: 10.0.11.201@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.201@o2ib12
          state: NA
        - nid: 10.1.11.201@o2ib12
          state: NA
----------------
ai400x2-3-vm4
----------------
peer:
    - primary nid: 10.0.11.202@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.202@o2ib12
          state: NA
        - nid: 10.1.11.202@o2ib12
          state: NA
    - primary nid: 10.0.11.203@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.203@o2ib12
          state: NA
        - nid: 10.1.11.203@o2ib12
          state: NA
    - primary nid: 0@lo
      Multi-Rail: False
      peer ni:
        - nid: 0@lo
          state: NA
    - primary nid: 10.0.11.200@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.200@o2ib12
          state: NA
        - nid: 10.1.11.200@o2ib12
          state: NA
    - primary nid: 10.0.11.201@o2ib12
      Multi-Rail: True
      peer ni:
        - nid: 10.0.11.201@o2ib12
          state: NA
        - nid: 10.1.11.201@o2ib12
          state: NA
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I also attached llog dump for a reference.&lt;/p&gt;</comment>
                            <comment id="368589" author="ssmirnov" created="Wed, 5 Apr 2023 22:34:34 +0000"  >&lt;p&gt;Hi Chris,&lt;/p&gt;

&lt;p&gt;For example, this sequence also leads to the similar &quot;broken&quot; peer record:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;bring down link corresponding to 192.168.122.134@tcp on the server&lt;/li&gt;
	&lt;li&gt;execute &quot;mount -t lustre 192.168.122.134@tcp:/lustrewt /mnt/lustrefs on the client&quot; - it fails as expected, peer containing 192.168.122.134@tcp is created&lt;/li&gt;
	&lt;li&gt;execute &quot;lnetctl discover 192.168.122.50@tcp on the client&quot; - this succeeds&lt;/li&gt;
	&lt;li&gt;lnetctl peer show outputs separate peer records for 192.168.122.134@tcp and 192.168.122.50@tcp&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Not sure if this reproducer is valid either though because mount command is not listing both server NIDs.&#160;&lt;/p&gt;</comment>
                            <comment id="376805" author="gerrit" created="Wed, 28 Jun 2023 21:47:41 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50530/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50530/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16709&quot; title=&quot;LNet: locking multiple NIDs of the same MR peer as primary results in incorrect representation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16709&quot;&gt;&lt;del&gt;LU-16709&lt;/del&gt;&lt;/a&gt; lnet: fix locking multiple NIDs of the MR peer&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 3b7a02ee4d656b7b3e044713681da2f56dddb152&lt;/p&gt;</comment>
                            <comment id="376826" author="pjones" created="Wed, 28 Jun 2023 22:49:06 +0000"  >&lt;p&gt;Seems to have merged for 2.16&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="48656" name="lctl-llog_print.txt" size="20199" author="sihara" created="Wed, 5 Apr 2023 07:54:06 +0000"/>
                    </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|i03i0n:</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>