<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:37:38 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-3871] e2fsck reports inode reference count error</title>
                <link>https://jira.whamcloud.com/browse/LU-3871</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;It can be easily reproduced by:&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;sh llmount.sh
....
sh llmountcleanup.sh
....
e2fsck -fn $ost_dev
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The e2fsck shows:&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;e2fsck 1.42.7.wc1 (12-Apr-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Inode 90 ref count is 1, should be 2.  Fix? no

Inode 94 ref count is 1, should be 2.  Fix? no

Inode 105 ref count is 1, should be 2.  Fix? no

Inode 107 ref count is 1, should be 2.  Fix? no

Pass 5: Checking group summary information

lustre-OST0000: ********** WARNING: Filesystem still has errors **********

lustre-OST0000: 293/50016 files (0.7% non-contiguous), 9608/50000 blocks
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I tracked the problem and looks it&apos;s introduced by commit: e0702769f267dd009a6287bbc9da2760079a101d (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3126&quot; title=&quot;conf-sanity test_41b: fld_server_lookup()) ASSERTION( fld-&amp;gt;lsf_control_exp ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3126&quot;&gt;&lt;del&gt;LU-3126&lt;/del&gt;&lt;/a&gt; osd: remove fld lookup during configuration)&lt;/p&gt;</description>
                <environment></environment>
        <key id="20743">LU-3871</key>
            <summary>e2fsck reports inode reference count error</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="di.wang">Di Wang</assignee>
                                    <reporter username="niu">Niu Yawei</reporter>
                        <labels>
                    </labels>
                <created>Mon, 2 Sep 2013 07:45:29 +0000</created>
                <updated>Mon, 7 Oct 2013 14:25:31 +0000</updated>
                            <resolved>Mon, 30 Sep 2013 23:31:08 +0000</resolved>
                                    <version>Lustre 2.5.0</version>
                                    <fixVersion>Lustre 2.5.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="65527" author="niu" created="Mon, 2 Sep 2013 07:46:31 +0000"  >&lt;p&gt;Di, could you take a look? Thanks.&lt;/p&gt;</comment>
                            <comment id="65537" author="niu" created="Mon, 2 Sep 2013 10:18:07 +0000"  >&lt;p&gt;The changes in fid_is_on_ost() is highly suspicious (e0702769f267dd009a6287bbc9da2760079a101d):&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;--- a/lustre/osd-ldiskfs/osd_oi.c
+++ b/lustre/osd-ldiskfs/osd_oi.c
@@ -470,8 +470,6 @@ &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; osd_oi_iam_lookup(struct osd_thread_info *oti,
 &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; fid_is_on_ost(struct osd_thread_info *info, struct osd_device *osd,
                  &lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_fid *fid, &lt;span class=&quot;code-keyword&quot;&gt;enum&lt;/span&gt; oi_check_flags flags)
 {
-       struct lu_seq_range *range = &amp;amp;info-&amp;gt;oti_seq_range;
-       &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; rc;
        ENTRY;

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (flags &amp;amp; OI_KNOWN_ON_OST)
@@ -487,17 +485,7 @@ &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; fid_is_on_ost(struct osd_thread_info *info, struct osd_device *osd,
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!(flags &amp;amp; OI_CHECK_FLD))
                RETURN(0);

-       rc = osd_fld_lookup(info-&amp;gt;oti_env, osd, fid, range);
-       &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc != 0) {
-               CERROR(&lt;span class=&quot;code-quote&quot;&gt;&quot;%s: Can not lookup fld &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &quot;&lt;/span&gt;DFID&lt;span class=&quot;code-quote&quot;&gt;&quot;\n&quot;&lt;/span&gt;,
-                      osd_name(osd), PFID(fid));
-               RETURN(rc);
-       }
-
-       CDEBUG(D_INFO, &lt;span class=&quot;code-quote&quot;&gt;&quot;fid &quot;&lt;/span&gt;DFID&lt;span class=&quot;code-quote&quot;&gt;&quot; range &quot;&lt;/span&gt;DRANGE&lt;span class=&quot;code-quote&quot;&gt;&quot;\n&quot;&lt;/span&gt;, PFID(fid),
-              PRANGE(range));
-
-       &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (fld_range_is_ost(range))
+       &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (osd-&amp;gt;od_is_ost)
                RETURN(1);

        RETURN(0);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Which definitely changed the behaviour when OI_CHECK_FLD is present (after the change, fid_is_on_ost() will always return 1 on the ost device)&lt;/p&gt;

&lt;p&gt;And I found the following code looks confusing to me:&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;#define LU_SEQ_RANGE_MDT        0x0
#define LU_SEQ_RANGE_OST        0x1
#define LU_SEQ_RANGE_ANY        0x3

#define LU_SEQ_RANGE_MASK       0x3
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;What does LU_SEQ_RANGE_ANY mean? It&apos;s a combination of RANGE_MDT and RANGE_OST or it&apos;s another type of RANGE?&lt;/p&gt;</comment>
                            <comment id="65562" author="di.wang" created="Mon, 2 Sep 2013 20:22:34 +0000"  >&lt;p&gt;I pushed patch &lt;a href=&quot;http://review.whamcloud.com/#/c/7527/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/7527/&lt;/a&gt; . I thought the problem is in the osd_oi_insert, and it seems a lot special FIDs is inserted into IAM, is this on purpose? or bug? related with OI scrub? Fan Yong, could you please have a look?&lt;/p&gt;</comment>
                            <comment id="65563" author="yong.fan" created="Tue, 3 Sep 2013 00:52:49 +0000"  >&lt;p&gt;Inserting local object into OI (oi.16.xxx) is expected. They can be easily distinguished from other normal FIDs. They are either IGIFs or local FIDs.&lt;/p&gt;</comment>
                            <comment id="65753" author="adilger" created="Wed, 4 Sep 2013 16:43:10 +0000"  >&lt;p&gt;Niu, which inodes are the ones reported by e2fsck (90, 94, 105, 107)?  Are these OST objects, directories, other?&lt;/p&gt;</comment>
                            <comment id="65786" author="niu" created="Thu, 5 Sep 2013 02:04:33 +0000"  >&lt;p&gt;I believe they are special objects on OST, such as named llog, global quota files, etc. Di has posted a patch for this (&lt;a href=&quot;http://review.whamcloud.com/#/c/7527/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/7527/&lt;/a&gt;), though it needs be updated.&lt;/p&gt;</comment>
                            <comment id="68011" author="pjones" created="Mon, 30 Sep 2013 23:31:08 +0000"  >&lt;p&gt;Landed for 2.5.0&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="21091">LU-3996</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|hzvzt3:</customfieldvalue>

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