<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:58:25 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-6230] open handle leak</title>
                <link>https://jira.whamcloud.com/browse/LU-6230</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;For open case, the client side open handling thread may hit error after the MDT grant the open. Under the such case, the client should send close RPC to the MDT as cleanup; otherwise, the open handle on the MDT will be leaked there until the client umount or evicted.&lt;/p&gt;

&lt;p&gt;If the LFSCK marks LU_OBJECT_HEARD_BANSHEE on the MDT-object that is opened by others for repairing some inconsistency, such as repairing multiple-referenced OST-object, because the leaked open handle still references the MDT-object, then it will block the subsequent threads that want to locate such object via FID.&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;23:07:57:INFO: task mdt00_000:6380 blocked for more than 120 seconds.
23:07:57:      Not tainted 2.6.32-504.8.1.el6_lustre.g0ef66b1.x86_64 #1
23:07:57:mdt00_000     D 0000000000000001     0  6380      2 0x00000080
23:07:57:Call Trace:
23:07:57: [&amp;lt;ffffffffa05f62af&amp;gt;] ? lu_object_find_try+0x9f/0x260 [obdclass]
23:07:57: [&amp;lt;ffffffffa05f64ad&amp;gt;] lu_object_find_at+0x3d/0xe0 [obdclass]
23:07:57: [&amp;lt;ffffffffa05f6566&amp;gt;] lu_object_find+0x16/0x20 [obdclass]
23:07:57: [&amp;lt;ffffffffa0ebe056&amp;gt;] mdt_object_find+0x56/0x170 [mdt]
23:07:57: [&amp;lt;ffffffffa0ef5407&amp;gt;] mdt_reint_open+0x1527/0x2c70 [mdt]
23:07:57: [&amp;lt;ffffffffa0edd0cd&amp;gt;] mdt_reint_rec+0x5d/0x200 [mdt]
23:07:57: [&amp;lt;ffffffffa0ec123b&amp;gt;] mdt_reint_internal+0x4cb/0x7a0 [mdt]
23:07:57: [&amp;lt;ffffffffa0ec1706&amp;gt;] mdt_intent_reint+0x1f6/0x430 [mdt]
23:07:57: [&amp;lt;ffffffffa0ebfcf4&amp;gt;] mdt_intent_policy+0x494/0xce0 [mdt]
23:07:57: [&amp;lt;ffffffffa07c24f9&amp;gt;] ldlm_lock_enqueue+0x129/0x9d0 [ptlrpc]
23:07:57: [&amp;lt;ffffffffa07ee48b&amp;gt;] ldlm_handle_enqueue0+0x51b/0x13f0 [ptlrpc]
23:07:57: [&amp;lt;ffffffffa086e951&amp;gt;] tgt_enqueue+0x61/0x230 [ptlrpc]
23:07:57: [&amp;lt;ffffffffa086f59e&amp;gt;] tgt_request_handle+0x8be/0x1000 [ptlrpc]
23:07:57: [&amp;lt;ffffffffa081f5c1&amp;gt;] ptlrpc_main+0xe41/0x1960 [ptlrpc]
23:07:57: [&amp;lt;ffffffff8109e66e&amp;gt;] kthread+0x9e/0xc0
23:07:57: [&amp;lt;ffffffff8100c20a&amp;gt;] child_rip+0xa/0x20
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="28637">LU-6230</key>
            <summary>open handle leak</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="yong.fan">nasf</assignee>
                                    <reporter username="yong.fan">nasf</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Feb 2015 09:58:14 +0000</created>
                <updated>Thu, 26 Feb 2015 19:12:14 +0000</updated>
                            <resolved>Thu, 26 Feb 2015 19:12:14 +0000</resolved>
                                    <version>Lustre 2.7.0</version>
                                    <fixVersion>Lustre 2.7.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="106445" author="gerrit" created="Tue, 10 Feb 2015 15:26:24 +0000"  >&lt;p&gt;Fan Yong (fan.yong@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/13709&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13709&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6230&quot; title=&quot;open handle leak&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6230&quot;&gt;&lt;del&gt;LU-6230&lt;/del&gt;&lt;/a&gt; llite: cleanup open handle for client open failure&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 307f1432afc920155b8b800841a626fcfe858bc8&lt;/p&gt;</comment>
                            <comment id="107592" author="yong.fan" created="Sat, 21 Feb 2015 10:41:17 +0000"  >&lt;p&gt;In fact, the &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5791&quot; title=&quot;LFSCK 5: use bottom object for consistency verification&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5791&quot;&gt;&lt;del&gt;LU-5791&lt;/del&gt;&lt;/a&gt; patch &lt;a href=&quot;http://review.whamcloud.com/#/c/13392/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/13392/&lt;/a&gt; (that has been landed to master already) depends on this patch, otherwise the sanity-lfsck will get failure.&lt;/p&gt;</comment>
                            <comment id="107752" author="adilger" created="Tue, 24 Feb 2015 07:21:52 +0000"  >&lt;p&gt;Fan Yong, as much as I want to land this patch to fix the current testing problem, it is bad that a poorly-behaving client can cause the MDS to deadlock.  That seems like a bug in the MDS code that it is blocked on a client open reference, even if the client is doing the wrong thing.  I&apos;d expect the MDS to not care at all whether the file is open and/or unlinked forever, since this is a normal use case and not even an error.  At worst the MDS should evict such a client if there is a clear problem.&lt;/p&gt;</comment>
                            <comment id="107758" author="yong.fan" created="Tue, 24 Feb 2015 09:06:32 +0000"  >&lt;p&gt;We found this issue during sanity-lfsck test_17 failure. There are some failure instances in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6727&quot; title=&quot;parallel-scale test mdtestfpp hung&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6727&quot;&gt;&lt;del&gt;LU-6727&lt;/del&gt;&lt;/a&gt;.&lt;br/&gt;
The root reason for such failure is that when the LFSCK repairing multiple referenced OST-object, it will set the un-recognized MDT-object as LU_OBJECT_HEARD_BANSHEE to make such MDT-object to reload OSP-object after the LOV EA refreshed. But at that time, some others may still reference such wrong MDT-object (in sanity-lfsck test_17, it is the leaked open handle). Then all the subsequent object locating against such MDT-object will be blocked there.&lt;/p&gt;

&lt;p&gt;Generally, asking other to release the reference is NOT the right solution, because it is normal that someone reference the MDT-object for very time, such as open().&lt;/p&gt;

&lt;p&gt;The right solution is NOT set LU_OBJECT_HEARD_BANSHEE on the MDT-object, instead, we should make the LOD-object to re-attach the OSP-object(s) after the LOV EA refreshed.&lt;/p&gt;</comment>
                            <comment id="107761" author="gerrit" created="Tue, 24 Feb 2015 09:44:39 +0000"  >&lt;p&gt;Fan Yong (fan.yong@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/13848&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13848&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6230&quot; title=&quot;open handle leak&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6230&quot;&gt;&lt;del&gt;LU-6230&lt;/del&gt;&lt;/a&gt; lfsck: reload OSP-object via set LOV EA on LOD-object&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 3d020e94a3bdb74f4db956f551bac058eaf18a44&lt;/p&gt;</comment>
                            <comment id="107771" author="jhammond" created="Tue, 24 Feb 2015 15:43:39 +0000"  >&lt;p&gt;&amp;gt; For open case, the client side open handling thread may hit error after the MDT grant the open. Under the such case, the client should send close RPC to the MDT as cleanup; otherwise, the open handle on the MDT will be leaked there until the client umount or evicted. In further, if someone unlinked the file, but because the open handle holds the reference on such file/object, then it will block the subsequent threads that want to locate such object via FID.&lt;/p&gt;

&lt;p&gt;Is this description correct? If there is an open handle then mod_count should remain positive and so the object will not be destroyed. So LU_OBJECT_HEARD_BANSHEE will not be set because of the unlink. Or am I missing something? Would you please offer a test case that reproduces the behavior in the description?&lt;/p&gt;</comment>
                            <comment id="107775" author="yong.fan" created="Tue, 24 Feb 2015 15:59:33 +0000"  >&lt;p&gt;&amp;gt;&amp;gt; For open case, the client side open handling thread may hit error after the MDT grant the open. Under the such case, the client should send close RPC to the MDT as cleanup; otherwise, the open handle on the MDT will be leaked there until the client umount or evicted. In further, if someone unlinked the file, but because the open handle holds the reference on such file/object, then it will block the subsequent threads that want to locate such object via FID.&lt;br/&gt;
&amp;gt; Is this description correct? If there is an open handle then mod_count should remain positive and so the object will not be destroyed. So LU_OBJECT_HEARD_BANSHEE will not be set because of the unlink. Or am I missing something? Would you please offer a test case that reproduces the behavior in the description?&lt;/p&gt;

&lt;p&gt;Sorry, some misguide in the issue description. It should be the LFSCK set LU_OBJECT_HEARD_BANSHEE on the MDT-object to repair multiple-referenced OST-object, but such MDT-object is still referenced by the leaked open handle. I have updated the issue description.&lt;/p&gt;

&lt;p&gt;As for the test case, sanity-lfsck test_17 can be used to verify that. All patches based on current master failed for this issue.&lt;/p&gt;</comment>
                            <comment id="107966" author="gerrit" created="Wed, 25 Feb 2015 18:39:22 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/13848/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13848/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6230&quot; title=&quot;open handle leak&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6230&quot;&gt;&lt;del&gt;LU-6230&lt;/del&gt;&lt;/a&gt; lfsck: reload OSP-object via set LOV EA on LOD-object&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 7c82a9c81d03dec059132dddafd0bdde188b321d&lt;/p&gt;</comment>
                            <comment id="108141" author="jlevi" created="Thu, 26 Feb 2015 19:12:14 +0000"  >&lt;p&gt;Patch landed to Master. Additional work will land under &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6301&quot; title=&quot;open handle leak&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6301&quot;&gt;&lt;del&gt;LU-6301&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="28811">LU-6272</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="28877">LU-6301</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|hzx62n:</customfieldvalue>

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