<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:06: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-7115] fld_client_rpc() may run into deadloop</title>
                <link>https://jira.whamcloud.com/browse/LU-7115</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In fld_client_rpc():&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;        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc != 0) {
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (imp-&amp;gt;imp_state != LUSTRE_IMP_CLOSED &amp;amp;&amp;amp; !imp-&amp;gt;imp_deactive) {
                        /* Since LWP is not replayable, so it will keep
                         * trying unless umount happens, otherwise it would
                         * cause unecessary failure of the application. */
                        ptlrpc_req_finished(req);
                        rc = 0;
                        &lt;span class=&quot;code-keyword&quot;&gt;goto&lt;/span&gt; again;
                }
                GOTO(out_req, rc);
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If the connection is broken, this function will run into an dead loop. I think we&apos;d reshape the function somehow to make it interruptable, otherwise, if connection never being established, caller will stuck in this function forever.&lt;/p&gt;

&lt;p&gt;Seems fld_update_from_controller() has similar problem.&lt;/p&gt;</description>
                <environment></environment>
        <key id="31981">LU-7115</key>
            <summary>fld_client_rpc() may run into deadloop</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="1">Fixed</resolution>
                                        <assignee username="ys">Yang Sheng</assignee>
                                    <reporter username="niu">Niu Yawei</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Sep 2015 14:39:43 +0000</created>
                <updated>Tue, 24 Jan 2017 13:57:48 +0000</updated>
                            <resolved>Tue, 24 Jan 2017 13:57:48 +0000</resolved>
                                    <version>Lustre 2.7.0</version>
                                    <fixVersion>Lustre 2.10.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="126680" author="pjones" created="Tue, 8 Sep 2015 17:28:01 +0000"  >&lt;p&gt;Yang Sheng&lt;/p&gt;

&lt;p&gt;Could you please look into this issue?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="126722" author="di.wang" created="Tue, 8 Sep 2015 20:21:32 +0000"  >&lt;p&gt;I thought the point here is to not fail for LWP unless it is being umounted or deactive, not sure how interruptible can help here, since it is the connection between MDTs. I may miss sth?&lt;/p&gt;

&lt;p&gt;But we do need check if the import is for LWP, i.e. only do this &quot;try again&quot; for LWP connection, not for MDC or other import.&lt;/p&gt;</comment>
                            <comment id="126749" author="niu" created="Wed, 9 Sep 2015 03:32:51 +0000"  >&lt;p&gt;I mean if the connection is broken, then it&apos;ll run into a deadloop, then there is no way to terminate the thread which calls this function, and we won&apos;t able to shutdown the MDT/OST at the end.&lt;/p&gt;

&lt;p&gt;I think it&apos;s not a serious problem, and looks not easy to fix.&lt;/p&gt;</comment>
                            <comment id="126752" author="di.wang" created="Wed, 9 Sep 2015 04:11:48 +0000"  >&lt;p&gt;Oh, it can break the loop, see&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 (imp-&amp;gt;imp_state != LUSTRE_IMP_CLOSED &amp;amp;&amp;amp; !imp-&amp;gt;imp_deactive) {
                        /* Since LWP is not replayable, so it will keep
                         * trying unless umount happens, otherwise it would
                         * cause unecessary failure of the application. */
                        ptlrpc_req_finished(req);
                        rc = 0;
                        goto again;
                }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It will check the import state here. And also the point right now is that we do not break the connection between MDTs, until umount and admin step in, so this implementation actually fit in here.&lt;br/&gt;
Though we still need check the LWP here as I said in the previous comment.&lt;/p&gt;
</comment>
                            <comment id="127372" author="adilger" created="Tue, 15 Sep 2015 17:47:34 +0000"  >&lt;p&gt;Is this really a bug or could this be closed?&lt;/p&gt;</comment>
                            <comment id="127438" author="niu" created="Wed, 16 Sep 2015 01:48:12 +0000"  >&lt;p&gt;As Di mentioned, the thread can be terminated by umount target, I think that&apos;s fine to me, we can just leave as it is.&lt;/p&gt;

&lt;p&gt;And this function will be called by client as well, we may need to check if it&apos;s called by client (not from LWP but from mdc device), and break the loop for non-LWP device case.&lt;/p&gt;</comment>
                            <comment id="132595" author="gerrit" created="Wed, 4 Nov 2015 08:44:49 +0000"  >&lt;p&gt;Yang Sheng (yang.sheng@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/17041&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/17041&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7115&quot; title=&quot;fld_client_rpc() may run into deadloop&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7115&quot;&gt;&lt;del&gt;LU-7115&lt;/del&gt;&lt;/a&gt; fld: don&apos;t try again for no LWP device&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 4fb4d98b6432e2a9d2e0397599421a1c2032e51e&lt;/p&gt;</comment>
                            <comment id="181840" author="gerrit" created="Tue, 24 Jan 2017 05:20:37 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/17041/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/17041/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7115&quot; title=&quot;fld_client_rpc() may run into deadloop&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7115&quot;&gt;&lt;del&gt;LU-7115&lt;/del&gt;&lt;/a&gt; fld: don&apos;t retry for no LWP device&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 9407629a816feff9f773517f90b615164319642f&lt;/p&gt;</comment>
                            <comment id="181892" author="pjones" created="Tue, 24 Jan 2017 13:57:48 +0000"  >&lt;p&gt;Landed for 2.10&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="25503">LU-5312</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="29356">LU-6419</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|hzxmtr:</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>