<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:26:18 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-9450] precreate logic badness between lod_statfs_and_check() and lod_check_and_reserve_ost() </title>
                <link>https://jira.whamcloud.com/browse/LU-9450</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;If &lt;tt&gt;sfs-&amp;gt;os_state &amp;amp; OS_STATE_ENOINO &amp;amp;&amp;amp; sfs-&amp;gt;os_fprecreated == 0&lt;/tt&gt; is true in &lt;tt&gt;lod_statfs_and_check()&lt;/tt&gt; then it returns &lt;tt&gt;-ENOSPC&lt;/tt&gt; which causes early return from &lt;tt&gt;lod_check_and_reserve_ost()&lt;/tt&gt;. So it seems like we never wake up the precreate thread and this becomes a permanent condition:&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;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; lod_statfs_and_check(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_env *env, struct lod_device *d,
                                &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; index, struct obd_statfs *sfs)
{
        struct lod_tgt_desc *ost;
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;                  rc;
        ENTRY;

        LASSERT(d);
        ost = OST_TGT(d,index);
        LASSERT(ost);

        rc = dt_statfs(env, ost-&amp;gt;ltd_ost, sfs);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc == 0 &amp;amp;&amp;amp; ((sfs-&amp;gt;os_state &amp;amp; OS_STATE_ENOSPC) ||
            (sfs-&amp;gt;os_state &amp;amp; OS_STATE_ENOINO &amp;amp;&amp;amp; sfs-&amp;gt;os_fprecreated == 0)))
                RETURN(-ENOSPC);

        ...
}

&lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; lod_check_and_reserve_ost(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_env *env,
                                     struct lod_device *m,
                                     struct obd_statfs *sfs, __u32 ost_idx,
                                     __u32 speed, __u32 *s_idx,
                                     struct dt_object **stripe,
                                     struct thandle *th,
                                     struct ost_pool *inuse)
{
        struct dt_object   *o;
        __u32 stripe_idx = *s_idx;
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; rc;

        rc = lod_statfs_and_check(env, m, ost_idx, sfs);
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc) {
                &lt;span class=&quot;code-comment&quot;&gt;/* &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; OSP doesn&apos;t feel well */&lt;/span&gt;
                &lt;span class=&quot;code-keyword&quot;&gt;goto&lt;/span&gt; out_return;
        }

        /*
         * We expect number of precreated objects in f_ffree at
         * the first iteration, skip OSPs with no objects ready
         */
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (sfs-&amp;gt;os_fprecreated == 0 &amp;amp;&amp;amp; speed == 0) {
                QOS_DEBUG(&lt;span class=&quot;code-quote&quot;&gt;&quot;#%d: precreation is empty\n&quot;&lt;/span&gt;, ost_idx);
                &lt;span class=&quot;code-keyword&quot;&gt;goto&lt;/span&gt; out_return;
        }

        ...
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="45864">LU-9450</key>
            <summary>precreate logic badness between lod_statfs_and_check() and lod_check_and_reserve_ost() </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="6" iconUrl="https://jira.whamcloud.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="6">Not a Bug</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                    </labels>
                <created>Thu, 4 May 2017 14:57:54 +0000</created>
                <updated>Fri, 5 May 2017 13:56:34 +0000</updated>
                            <resolved>Fri, 5 May 2017 13:56:29 +0000</resolved>
                                    <version>Lustre 2.9.0</version>
                                    <fixVersion>Lustre 2.10.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="194455" author="jhammond" created="Thu, 4 May 2017 14:58:43 +0000"  >&lt;p&gt;Alex, could you take a look and confirm my reasoning?&lt;/p&gt;</comment>
                            <comment id="194461" author="bzzz" created="Thu, 4 May 2017 16:04:14 +0000"  >&lt;p&gt;hmm, OSP should be doing precreation on its own generally. the same should apply to os_state. do you have a specific case/test failure?&lt;/p&gt;</comment>
                            <comment id="194466" author="jhammond" created="Thu, 4 May 2017 16:40:29 +0000"  >&lt;p&gt;When I created this, I missed some calls to &lt;tt&gt;osp_pre_update_status()&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="194521" author="adilger" created="Thu, 4 May 2017 23:01:47 +0000"  >&lt;p&gt;It looks like this is causing the &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9096&quot; title=&quot;sanity test_253: File creation failed after rm&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9096&quot;&gt;LU-9096&lt;/a&gt; failures.&lt;/p&gt;</comment>
                            <comment id="194525" author="pjones" created="Thu, 4 May 2017 23:11:13 +0000"  >&lt;p&gt;So should we close &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9096&quot; title=&quot;sanity test_253: File creation failed after rm&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9096&quot;&gt;LU-9096&lt;/a&gt; as a duplicate of this one? It seems like there is more analysis here...&lt;/p&gt;</comment>
                            <comment id="194655" author="bzzz" created="Fri, 5 May 2017 11:42:56 +0000"  >&lt;p&gt;I think &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9096&quot; title=&quot;sanity test_253: File creation failed after rm&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9096&quot;&gt;LU-9096&lt;/a&gt; is rather an issue in the test.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="43694">LU-9096</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is duplicated by">
                                                        </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|hzzbxb:</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>