<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:00:35 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-6479] sub object held by master object will stop it to be released</title>
                <link>https://jira.whamcloud.com/browse/LU-6479</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Sub stripe object will be holded by master object until the master object is freed. (lod_object_free()-&amp;gt;lod_object_free_striping()&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;void lod_object_free_striping(const struct lu_env *env, struct lod_object *lo)
{
        int i; 
         
        if (lo-&amp;gt;ldo_dir_stripe != NULL) {
                OBD_FREE_PTR(lo-&amp;gt;ldo_dir_stripe);
                lo-&amp;gt;ldo_dir_stripe = NULL;
        }
        
        if (lo-&amp;gt;ldo_stripe) {
                LASSERT(lo-&amp;gt;ldo_stripes_allocated &amp;gt; 0);

                for (i = 0; i &amp;lt; lo-&amp;gt;ldo_stripenr; i++) {
                        if (lo-&amp;gt;ldo_stripe[i])
                                lu_object_put(env, &amp;amp;lo-&amp;gt;ldo_stripe[i]-&amp;gt;do_lu);
                }

                i = sizeof(struct dt_object *) * lo-&amp;gt;ldo_stripes_allocated;
                OBD_FREE(lo-&amp;gt;ldo_stripe, i);
                lo-&amp;gt;ldo_stripe = NULL;
                lo-&amp;gt;ldo_stripes_allocated = 0;
        }
        ............
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So the master object (of striped directory) should be freed immediately once the ref count reach to 0.&lt;/p&gt;</description>
                <environment></environment>
        <key id="29581">LU-6479</key>
            <summary>sub object held by master object will stop it to be released</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="di.wang">Di Wang</assignee>
                                    <reporter username="di.wang">Di Wang</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 Apr 2015 02:21:53 +0000</created>
                <updated>Tue, 22 Sep 2015 00:14:38 +0000</updated>
                            <resolved>Thu, 17 Sep 2015 22:05:26 +0000</resolved>
                                    <version>Lustre 2.7.0</version>
                                    <fixVersion>Lustre 2.8.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="112469" author="gerrit" created="Tue, 21 Apr 2015 02:36:11 +0000"  >&lt;p&gt;wangdi (di.wang@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/14511&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/14511&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6479&quot; title=&quot;sub object held by master object will stop it to be released&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6479&quot;&gt;&lt;del&gt;LU-6479&lt;/del&gt;&lt;/a&gt; lod: free the striped object immediately&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 22872cf7b6d776e2ae7e5115e5588fb47b868055&lt;/p&gt;</comment>
                            <comment id="127674" author="adilger" created="Thu, 17 Sep 2015 18:03:40 +0000"  >&lt;p&gt;Any update on this bug and related patch?  Is this needed for proper functionality in 2.8.0 or is it just a code cleanup?  What causes this bug to be hit and what is the impact (e.g. hit during normal usage and LBUG, or hit during racer and MDS can&apos;t be shut down cleanly at the end)?&lt;/p&gt;</comment>
                            <comment id="127717" author="di.wang" created="Thu, 17 Sep 2015 22:04:45 +0000"  >&lt;p&gt;Hmm, had a few discussion with Alex about this. And probably we should just close the ticket for now, since there are no good reason to release the sub object when destroy the master object.  And the original problem I met because of this seems gone in my new test. So let&apos;s close this one for now. And if it is necessary, I will reopen the ticket with better reason. &lt;/p&gt;</comment>
                            <comment id="127747" author="bzzz" created="Fri, 18 Sep 2015 04:38:26 +0000"  >&lt;p&gt;I think it&apos;d be good to keep around as a possible enhancement at least. there are few reasons for that:&lt;br/&gt;
1) OSP objects aren&apos;t needed most of time (only at create/unlink/chown), so currently we just waste memory&lt;br/&gt;
2) there is an issue with declared striping changing from declare to execution - to work this around we had to introduce additional locking in MDD (or MDT, don&apos;t remember exactly). now, with lod_thandle declare can prepare striping for its own use and don&apos;t race with other threads. I find this very important.&lt;/p&gt;</comment>
                            <comment id="128025" author="adilger" created="Tue, 22 Sep 2015 00:14:38 +0000"  >&lt;p&gt;Alex, should this ticket be reopened to track the issues you described?  Otherwise they will be lost.&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|hzxb5j:</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>