<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:26:57 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-9525] &quot;lctl network down&quot; won&apos;t work if network brought up by a mount</title>
                <link>https://jira.whamcloud.com/browse/LU-9525</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The code for both &quot;lctl network down&quot; and &quot;lnetctl net unconfigure&quot; was written assuming the network was originally brought up using either &quot;lctl network configure&quot; or &quot;lnetctl net configure&quot;. &#160;If the network came up as part of a mount or &quot;modprobe lustre&quot;, there is a flag which does not get set thereby preventing lctl or lnetctl from bringing down the network.&lt;/p&gt;

&lt;p&gt;This enforces&#160;a restriction that the mechanism which configures the network is the same one which unconfigures the network. &#160;I see no reason for that restriction. &#160;It is confusing and should not be there.&lt;/p&gt;

&lt;p&gt;This ticket has been opened to change that part of the code to let us switch to a different mechanism to unconfigure from the one used to configure. &#160;Otherwise, debugging in the field is just no fun!&lt;/p&gt;</description>
                <environment></environment>
        <key id="46165">LU-9525</key>
            <summary>&quot;lctl network down&quot; won&apos;t work if network brought up by a mount</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="6">Not a Bug</resolution>
                                        <assignee username="pfarrell">Patrick Farrell</assignee>
                                    <reporter username="doug">Doug Oucharek</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 May 2017 21:42:57 +0000</created>
                <updated>Tue, 16 Apr 2019 14:45:58 +0000</updated>
                            <resolved>Fri, 12 Apr 2019 14:25:35 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="242445" author="utopiabound" created="Thu, 21 Feb 2019 16:40:50 +0000"  >&lt;p&gt;With Lustre 2.12.0 it doesn&apos;t appear there&apos;s any way for &lt;tt&gt;lctl net down&lt;/tt&gt; to work:&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;# modprobe lnet
# lctl list_nids
IOC_LIBCFS_GET_NI error 100: Network is down
# lctl net up
# lctl list_nids
192.168.56.20@tcp
# lctl net down
LNET busy
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Debug log with ALL the debugging:&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;# lctl set_param debug=-1
debug=-1
# lctl dk &amp;gt; /dev/null ; lctl net down; lctl dk
LNET busy
00000400:00000001:1.0F:1550767099.121831:0:5433:0:(module.c:69:libcfs_ioctl()) Process entered
00000400:00000001:1.0:1550767099.121833:0:5433:0:(linux-module.c:113:libcfs_ioctl_getdata()) Process entered
00000400:00000010:1.0:1550767099.121834:0:5433:0:(linux-module.c:136:libcfs_ioctl_getdata()) alloc &apos;(*hdr_pp)&apos;: 128 at ffffa0cd5829d900 (tot 502104).
00000400:00000001:1.0:1550767099.121835:0:5433:0:(linux-module.c:143:libcfs_ioctl_getdata()) Process leaving (rc=0 : 0 : 0)
00000400:00000001:1.0:1550767099.121836:0:5433:0:(linux-module.c:91:libcfs_ioctl_data_adjust()) Process entered
00000400:00000001:1.0:1550767099.121837:0:5433:0:(linux-module.c:105:libcfs_ioctl_data_adjust()) Process leaving (rc=0 : 0 : 0)
00000400:00000080:1.0:1550767099.121837:0:5433:0:(module.c:90:libcfs_ioctl()) libcfs ioctl cmd 3221775672
00000400:00000010:1.0:1550767099.121839:0:5433:0:(module.c:118:libcfs_ioctl()) kfreed &apos;hdr&apos;: 128 at ffffa0cd5829d900 (tot 501976).
00000400:00000001:1.0:1550767099.121840:0:5433:0:(module.c:119:libcfs_ioctl()) Process leaving (rc=18446744073709551600 : -16 : fffffffffffffff0)
Debug log: 9 lines, 9 kept, 0 dropped, 0 bad.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="242452" author="pfarrell" created="Thu, 21 Feb 2019 17:04:23 +0000"  >&lt;p&gt;Nathaniel,&lt;/p&gt;

&lt;p&gt;What happens if you do lustre_rmmod in there, like we discussed in Skype?&#160; (Not saying you should have to, just curious what happens)&lt;/p&gt;</comment>
                            <comment id="242480" author="utopiabound" created="Thu, 21 Feb 2019 21:52:27 +0000"  >&lt;p&gt;Doing &lt;tt&gt;lustre_rmmod&lt;/tt&gt; tears everything down.&#160; Doing a partial teardown results in a panic (probably because of polling by iml-agent) see &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11986&quot; title=&quot;After partial lustre_rmmod, lnet panics on debugfs read&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11986&quot;&gt;&lt;del&gt;LU-11986&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="245616" author="pfarrell" created="Thu, 11 Apr 2019 19:44:24 +0000"  >&lt;p&gt;So I spent a bit on this before I realized, as far as I can tell, the code is fine, and I can&apos;t reproduce this:&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;# modprobe lnet
# lctl list_nids
IOC_LIBCFS_GET_NI error 100: Network is down
# lctl net up
# lctl list_nids
192.168.56.20@tcp
# lctl net down
LNET busy

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;lctl net down works fine for me in this scenario, both on master and on b2_12.&lt;/p&gt;

&lt;p&gt;I also can&apos;t reproduce the problem Doug described about the config thing.&#160; It&apos;s true that you cannot unconfigure LNet while ptlrpc is loaded, but that&apos;s because ptlrpc won&apos;t load without network interfaces available.&#160; ptlrpc doesn&apos;t support being loaded without nis configured, so you can&apos;t unconfigure them without unloading it.&lt;/p&gt;

&lt;p&gt;But it&apos;s not just &quot;a flag that&apos;s set&quot; - that flag reflects whether LNet initialized its own config or if it was done by ptlrpc.&#160; If it was done by ptlrpc, then LNet can&apos;t just tear it down.&#160; All of the scenarios and orders I could think of for &quot;config done by lnet, done by ptlrpc (this is the same as &quot;done by a mount&quot;)&quot; work fine, given that you accept that you can&apos;t unconfigure lnet while ptlrpc is loaded.&lt;/p&gt;

&lt;p&gt;Maybe there&apos;s just something IML is doing that&apos;s making LNet busy...?&#160; Because this code seems to be fine.&lt;/p&gt;</comment>
                            <comment id="245636" author="joe.grund" created="Fri, 12 Apr 2019 13:50:39 +0000"  >&lt;p&gt;Sounds like this is expected behavior. I&apos;ll try using &lt;tt&gt;lustre_rmmod ptlrpc&lt;/tt&gt; unconditionally before bringing down LNet.&lt;/p&gt;</comment>
                            <comment id="245638" author="pfarrell" created="Fri, 12 Apr 2019 14:25:35 +0000"  >&lt;p&gt;Per our conversation this morning, it looks like with &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11986&quot; title=&quot;After partial lustre_rmmod, lnet panics on debugfs read&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11986&quot;&gt;&lt;del&gt;LU-11986&lt;/del&gt;&lt;/a&gt; fixed (which is in progress, patch exists) IML is able to do what it needs to do.&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|hzzd1b:</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>