<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:54:32 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-12659] change log level for &quot;lvbo_init failed&quot; back to CERROR</title>
                <link>https://jira.whamcloud.com/browse/LU-12659</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The log level of LVB initialization (lvbo_init failed) was changed to CDEBUG/DLMTRACE in commit 8739f132 (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5042&quot; title=&quot;Recovery Lock Replay&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5042&quot;&gt;&lt;del&gt;LU-5042&lt;/del&gt;&lt;/a&gt; ldlm: delay filling resource&apos;s LVB upon replay), and that change makes users hard to notice the fail until analyzing the debug log or application report it.&lt;/p&gt;</description>
                <environment></environment>
        <key id="56644">LU-12659</key>
            <summary>change log level for &quot;lvbo_init failed&quot; back to CERROR</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="guzheng">Gu Zheng</assignee>
                                    <reporter username="guzheng">Gu Zheng</reporter>
                        <labels>
                    </labels>
                <created>Mon, 12 Aug 2019 01:58:38 +0000</created>
                <updated>Fri, 4 Oct 2019 14:54:37 +0000</updated>
                                            <version>Upstream</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="252945" author="gerrit" created="Mon, 12 Aug 2019 02:45:47 +0000"  >&lt;p&gt;Gu Zheng (gzheng@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/35767&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35767&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12659&quot; title=&quot;change log level for &amp;quot;lvbo_init failed&amp;quot; back to CERROR&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12659&quot;&gt;LU-12659&lt;/a&gt; ldlm: change log level for &quot;lvbo_init failed&quot; back to CERROR&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 0bba47c0a7289e32e86cbc296b44ad34d04a3c05&lt;/p&gt;</comment>
                            <comment id="255908" author="adilger" created="Fri, 4 Oct 2019 14:50:09 +0000"  >&lt;p&gt;Discussion on the patch indicates that this is not very easily fixed::&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;gt;&amp;gt;&amp;gt; Do you mean it&apos;s possible that the file may not exist when&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt; this is called? and it&apos;s a legitimate condition.  Could you&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt;  please show me an example for that?&lt;br/&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;
&amp;gt;&amp;gt; Yes. Imagine a situation of two clients. One does a lookup&lt;br/&gt;
&amp;gt;&amp;gt; on a file and another does unlink.&lt;br/&gt;
&amp;gt;&amp;gt; Both got their lookups with EA data back and then one sends&lt;br/&gt;
&amp;gt;&amp;gt; in the destroy (now handled by mds) and the other one sends&lt;br/&gt;
&amp;gt;&amp;gt; in the stat/getattr to OST. If the destroy wins, the getattr will&lt;br/&gt;
&amp;gt;&amp;gt; get a false alarm because the object is already gone.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; Is there any better way to distinguish there two conditions&lt;br/&gt;
&amp;gt; (legitimate race or objects missing)? IMO, from OST side, the&lt;br/&gt;
&amp;gt; phenomenons are the same, object is gone.&lt;/p&gt;

&lt;p&gt;There&apos;s no way to distinguish them that I can think of readily.&lt;br/&gt;
But the legitimate race is a lot more common I imagine.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;One possibility that comes to mind to distinguish this race condition is if the client sends the MDT parent FID in its RPC (this might need to be added for getattr/glimpse RPCs) then the OSS can verify if the MDT inode still exists or not, like LFSCK does. The &lt;tt&gt;filter_fid&lt;/tt&gt; xattr on the object would be gone at this point, so it would not be usable to determine the parent FID. If the MDT parent inode still exists then this is an error, otherwise it is a harmless race. This would need an extra OSS-&amp;gt;MDS GETATTR RPC, which could cause issues if the MDS is offline or busy, but should only happen in the rare case of a missing object.&lt;/p&gt;

&lt;p&gt;Another alternative would be to keep the DLM resource around for a short time after unlink (eg. a few seconds) to allow detecting the &quot;just deleted&quot; case from the &quot;has not existed for a long time&quot; case. This would need some asynchronous process to clean up the resources after a timeout, and would consume memory, so probably not ideal.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="26818">LU-5702</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|i00l47:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>