<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:52:54 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-5601] LFSCK 5: detach the child object (shard) from parent object when destroy the striped file</title>
                <link>https://jira.whamcloud.com/browse/LU-5601</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;As describe in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5395&quot; title=&quot;lfsck_start not progressing&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5395&quot;&gt;&lt;del&gt;LU-5395&lt;/del&gt;&lt;/a&gt;: there is potential deadlock race condition between object destroy and layout LFSCK. Consider the following scenario:&lt;/p&gt;

&lt;p&gt;1) The LFSCK thread obtained the parent object firstly, at that time, the parent object has not been destroyed yet.&lt;/p&gt;

&lt;p&gt;2) One RPC service thread destroyed the parent and all its children objects. Because the LFSCK is referencing the parent object, then the parent object will be marked as dying in RAM. On the other hand, the parent object is referencing all its children objects, then all children objects will be marked as dying in RAM also.&lt;/p&gt;

&lt;p&gt;3) The LFSCK thread tries to find some child object with the parent object referenced. Then it will find that the child object is dying. According to the object visibility rules: the object with dying flag cannot be returned to others. So the LFSCK thread has to wait until the dying object has been purged from RAM, then it can allocate a new object (with the same FID) in RAM. Unfortunately, the LFSCK thread itself is referencing the parent object, and cause the parent object cannot be purged, then cause the child object cannot be purged also. So the LFSCK thread will fall into deadlock.&lt;/p&gt;

&lt;p&gt;To avoid above deadlock, we can detach the child object from the parent object in LOD when destroy the striped directory. Such detachment should be done carefully to avoid race with other users.&lt;/p&gt;</description>
                <environment></environment>
        <key id="26467">LU-5601</key>
            <summary>LFSCK 5: detach the child object (shard) from parent object when destroy the striped file</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="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="yong.fan">nasf</assignee>
                                    <reporter username="yong.fan">nasf</reporter>
                        <labels>
                    </labels>
                <created>Wed, 10 Sep 2014 00:53:55 +0000</created>
                <updated>Thu, 30 Nov 2023 05:43:51 +0000</updated>
                                            <version>Lustre 2.6.0</version>
                                                        <due></due>
                            <votes>1</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="95900" author="adilger" created="Wed, 8 Oct 2014 04:15:56 +0000"  >&lt;p&gt;Alex, when you have some time, could you please describe what needs to be done to fix this issue?  We are trying to scope the amount of effort needed to address the LFSCK4 technical debts, and without knowing how to fix this problem we can&apos;t make any estimate on how long it will take.&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|hzwvvz:</customfieldvalue>

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