<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:00:28 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-6465] OSD ID mapping cache is not safe to use.</title>
                <link>https://jira.whamcloud.com/browse/LU-6465</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;t seems osd_id_map is not safe to use right now. So the pair of &lt;span class=&quot;error&quot;&gt;&amp;#91;FID, OID&amp;#93;&lt;/span&gt; is added to cache after lookup, but if another thread delete the object, it will only invalidate the cache in its own thread info.&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;int osd_oi_delete(struct osd_thread_info *info,
                  struct osd_device *osd, const struct lu_fid *fid,
                  handle_t *th, enum oi_check_flags flags)
{
        struct lu_fid *oi_fid = &amp;amp;info-&amp;gt;oti_fid2;

        /* clear idmap cache */
        if (lu_fid_eq(fid, &amp;amp;info-&amp;gt;oti_cache.oic_fid))
                fid_zero(&amp;amp;info-&amp;gt;oti_cache.oic_fid);
      ..............

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And other threads can still get the OID from the cache, and if the inode has been reused by other object, then we will see bunch of&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;Lustre: lustre-MDT0003-osd: FID [0x2c0000404:0x1f34:0x0] != self_fid [0x2c0000404:0x281c:0x0]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Unfortunately, it will also trigger osd-scrub in this case, this is what I saw in the DNE2 failover test.&lt;/p&gt;</description>
                <environment></environment>
        <key id="29508">LU-6465</key>
            <summary>OSD ID mapping cache is not safe to use.</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="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="di.wang">Di Wang</reporter>
                        <labels>
                    </labels>
                <created>Tue, 14 Apr 2015 21:41:29 +0000</created>
                <updated>Thu, 12 May 2016 17:55:08 +0000</updated>
                            <resolved>Tue, 5 May 2015 23:32:42 +0000</resolved>
                                    <version>Lustre 2.7.0</version>
                                    <fixVersion>Lustre 2.8.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="112114" author="di.wang" created="Tue, 14 Apr 2015 22:23:41 +0000"  >&lt;p&gt;And disable the oic_cache does make problem go away.&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;[root@testnode lustre-release_new]# git diff
diff --git a/lustre/osd-ldiskfs/osd_handler.c b/lustre/osd-ldiskfs/osd_handler.c
index 7ab83f3..cce5dfa 100644
--- a/lustre/osd-ldiskfs/osd_handler.c
+++ b/lustre/osd-ldiskfs/osd_handler.c
@@ -607,13 +607,15 @@ static int osd_fid_lookup(const struct lu_env *env, struct osd_object *obj,
        if (conf != NULL &amp;amp;&amp;amp; conf-&amp;gt;loc_flags &amp;amp; LOC_F_NEW)
                GOTO(out, result = 0);
 
+#if 0
+       /* Disable OIC cache until LU-6465 is resolved */
        /* Search order: 1. per-thread cache. */
        if (lu_fid_eq(fid, &amp;amp;oic-&amp;gt;oic_fid) &amp;amp;&amp;amp;
            likely(oic-&amp;gt;oic_dev == dev)) {
                id = &amp;amp;oic-&amp;gt;oic_lid;
                goto iget;
        }
-
+#endif
        id = &amp;amp;info-&amp;gt;oti_id;
        if (!list_empty(&amp;amp;scrub-&amp;gt;os_inconsistent_items)) {
                /* Search order: 2. OI scrub pending list. */
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="112365" author="gerrit" created="Mon, 20 Apr 2015 09:28:06 +0000"  >&lt;p&gt;Fan Yong (fan.yong@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/14499&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/14499&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6465&quot; title=&quot;OSD ID mapping cache is not safe to use.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6465&quot;&gt;&lt;del&gt;LU-6465&lt;/del&gt;&lt;/a&gt; osd: NO OI scrub because of cached invalid OI mapping&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 06534d926e58b3908302d389aac4a39d73e6d2b8&lt;/p&gt;</comment>
                            <comment id="114304" author="gerrit" created="Tue, 5 May 2015 21:20:17 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/14499/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/14499/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6465&quot; title=&quot;OSD ID mapping cache is not safe to use.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6465&quot;&gt;&lt;del&gt;LU-6465&lt;/del&gt;&lt;/a&gt; osd: NO OI scrub because of cached invalid OI mapping&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: dac584c6946d15e1ca9e6feeb26b164768041c40&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|hzxarz:</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>