<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:58:06 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-13070] mdd_orphan_destroy loop caused by compatibility issue on upgrades to 2.11 or later</title>
                <link>https://jira.whamcloud.com/browse/LU-13070</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;While investigating of the customer issue, we found that the original trigger for the problem is a compatibility issue between Lustre 2.11 and older Lustre versions.&#160;Code introduced by &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7787&quot; title=&quot;There is space in the middle of filename under PENDING&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7787&quot;&gt;&lt;del&gt;LU-7787&lt;/del&gt;&lt;/a&gt; to &quot;clean up orphan object handling&quot; was incomplete. The format for names of orphans in the PENDING dir was changed in Lustre 2.11. The old format names are not recognized by mdd_orphan_destroy() in Lustre 2.11, leading to an endless loop. There&apos;s a check for the old format name, used in mdd_orphan_delete(), but that check was not included in mdd_orphan_destroy().&lt;/p&gt;

&lt;p&gt;Here is the relevant code segment from mdd_orphan_delete():&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;
rc = dt_delete(env, mdd-&amp;gt;mdd_orphans, key, th);
 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc == -ENOENT) {
&#160; &#160; &#160;key = mdd_orphan_key_fill_20(env, mdo2fid(obj));
&#160; &#160; &#160;rc = dt_delete(env, mdd-&amp;gt;mdd_orphans, key, th);
 }&#160; &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This same ENOENT sequence should be included in mdd_orphan_destroy().&lt;/p&gt;

&lt;p&gt;It looks like&#160;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11418&quot; title=&quot;hung threads on MDT and MDT won&amp;#39;t umount&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11418&quot;&gt;&lt;del&gt;LU-11418&lt;/del&gt;&lt;/a&gt; trying to solve the problem, but it removes symptoms, not the root cause.&lt;/p&gt;</description>
                <environment></environment>
        <key id="57620">LU-13070</key>
            <summary>mdd_orphan_destroy loop caused by compatibility issue on upgrades to 2.11 or later</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.whamcloud.com/images/icons/priorities/critical.svg">Critical</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="artem_blagodarenko">Artem Blagodarenko</assignee>
                                    <reporter username="artem_blagodarenko">Artem Blagodarenko</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Thu, 12 Dec 2019 11:37:46 +0000</created>
                <updated>Tue, 21 Jan 2020 15:13:40 +0000</updated>
                            <resolved>Fri, 3 Jan 2020 02:36:20 +0000</resolved>
                                    <version>Lustre 2.11.0</version>
                    <version>Lustre 2.12.4</version>
                                    <fixVersion>Lustre 2.14.0</fixVersion>
                    <fixVersion>Lustre 2.12.4</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="260031" author="gerrit" created="Tue, 17 Dec 2019 09:16:09 +0000"  >&lt;p&gt;Artem Blagodarenko (c17828@cray.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/37049&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37049&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13070&quot; title=&quot;mdd_orphan_destroy loop caused by compatibility issue on upgrades to 2.11 or later&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13070&quot;&gt;&lt;del&gt;LU-13070&lt;/del&gt;&lt;/a&gt; mdd: try old format for orphan names during recovery&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: aec5021399cda37e732a30d0981db7ecd6e86444&lt;/p&gt;</comment>
                            <comment id="260518" author="gerrit" created="Fri, 3 Jan 2020 00:08:39 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/37049/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37049/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13070&quot; title=&quot;mdd_orphan_destroy loop caused by compatibility issue on upgrades to 2.11 or later&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13070&quot;&gt;&lt;del&gt;LU-13070&lt;/del&gt;&lt;/a&gt; mdd: try old format for orphan names during recovery&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 05fca4be33067f24a02e527c88cff5b60a20bb39&lt;/p&gt;</comment>
                            <comment id="260536" author="pjones" created="Fri, 3 Jan 2020 02:36:20 +0000"  >&lt;p&gt;Landed for 2.14&lt;/p&gt;</comment>
                            <comment id="260545" author="gerrit" created="Fri, 3 Jan 2020 02:53:17 +0000"  >&lt;p&gt;Minh Diep (mdiep@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/37129&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37129&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13070&quot; title=&quot;mdd_orphan_destroy loop caused by compatibility issue on upgrades to 2.11 or later&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13070&quot;&gt;&lt;del&gt;LU-13070&lt;/del&gt;&lt;/a&gt; mdd: try old format for orphan names during recovery&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 774e8858dd86d265a3c2a0f8b6efdb93e2d82d11&lt;/p&gt;</comment>
                            <comment id="260996" author="gerrit" created="Fri, 10 Jan 2020 08:05:21 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/37129/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37129/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13070&quot; title=&quot;mdd_orphan_destroy loop caused by compatibility issue on upgrades to 2.11 or later&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13070&quot;&gt;&lt;del&gt;LU-13070&lt;/del&gt;&lt;/a&gt; mdd: try old format for orphan names during recovery&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: b75f04d5855d7ac4de98fe89686ae685c19c2f97&lt;/p&gt;</comment>
                            <comment id="261481" author="ys" created="Sat, 18 Jan 2020 06:56:39 +0000"  >&lt;p&gt;Hi, Artem,&lt;/p&gt;

&lt;p&gt;After reconsider,  The  mdd_orphan_key_fill_20 was used in mdd_orphan_delete since the key comes from mdd_orphan_key_fill, So it exists compatibility issue. But the key in mdd_orphan_destroy comes from osd iterator, not generated from fid. So the compatibility issue is not exists at all. Doesn&apos;t it?&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
YangSheng&lt;/p&gt;</comment>
                            <comment id="261552" author="artem_blagodarenko" created="Tue, 21 Jan 2020 07:37:28 +0000"  >&lt;p&gt;Hello Yang,&lt;/p&gt;

&lt;p&gt;The same situation in&#160;the mdd_orphan_destroy(). The&#160; mdd_orphan_key_fill() is executed in&#160;mdd_orphan_destroy-&amp;gt;mdd_orphan_declare_delete() code path. And then this &quot;filled&quot; name is used.&lt;/p&gt;

&lt;p&gt;The first symptom of this issue we noticed was the message:&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;
 [Mon Nov 25 10:01:42 2019] LustreError: 112248:0:(mdd_orphans.c:324:mdd_orphan_destroy()) snx11168-MDD0003: could not delete orphan [0x2c012648d:0x579f:0x0]: rc = -2&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I believe the reason that ENOENT returned is the wrong fid is parsed from the filename because of filename in old format and&lt;/p&gt;

&lt;p&gt;mdd_orphan_key_fill_20() needs to be used.&lt;/p&gt;

&lt;p&gt;Best regards,&lt;/p&gt;

&lt;p&gt;Artem Blagodarenko.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="261553" author="ys" created="Tue, 21 Jan 2020 07:50:19 +0000"  >&lt;p&gt;Hi, Artem,&lt;/p&gt;


&lt;p&gt;Please note that the key in mdd_orphan_destroy comes from ent-&amp;gt;lde_name in mdd_orphan_index_iterate-&amp;gt;mdd_orphan_key_test_and_delete. The mdd_orphan_declare_delete only fill env-&amp;gt;mti_key. So mdd_orphan_key_fill_20 is useless in there.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
YangSheng&lt;/p&gt;</comment>
                            <comment id="261568" author="artem_blagodarenko" created="Tue, 21 Jan 2020 13:13:24 +0000"  >&lt;p&gt;Hello Yang,&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;You are right. &#160;The key is come from directory names and should be right. We can delete this useless code.&lt;/p&gt;

&lt;p&gt;Do you think we need to fix mdd_orphan_declare_delete() and add compatability&#160;mdd_orphan_key_fill()&#160;version call there?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

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

&lt;p&gt;Artem Blagodarenko.&lt;/p&gt;</comment>
                            <comment id="261570" author="ys" created="Tue, 21 Jan 2020 15:13:40 +0000"  >&lt;p&gt;Hi, Artem,&lt;/p&gt;

&lt;p&gt;Looks like the key in mdd_orphan_declare_delete is only useful in zfs to check for &apos;.&apos; or &apos;..&apos; case.  So we needn&apos;t fix it. &lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
YangSheng&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="34744">LU-7787</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="53392">LU-11418</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="57130">LU-12846</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </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|i00qwv:</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>