<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:10:08 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-7581] Large EA: &quot;ldiskfs_xattr_inode_iget: Backpointer from EA inode 2300579989 to parent invalid&quot;</title>
                <link>https://jira.whamcloud.com/browse/LU-7581</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;MDT crashed with the below stack trace and the issue is related to large EA. &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;[411763.959595] LDISKFS-fs error (device md66): ldiskfs_xattr_inode_iget:
[411763.959667] LDISKFS-fs error (device md66): ldiskfs_xattr_inode_iget: Backpointer from EA inode 2300579986 to parent invalid.
[411763.959670] Aborting journal on device md66-8.
[411763.959758] LustreError: 243183:0:(osd_handler.c:914:osd_trans_commit_cb()) transaction @0xffff8806f77781c0 commit error: 2
[411763.986296] Kernel panic - not syncing: LDISKFS-fs (device md66): panic forced after error
[411763.986297]
[411763.986299] Pid: 179095, comm: mdt01_092 Not tainted 2.6.32-431.17.1.x2.0.61.x86_64 #1
[411763.986300] Call Trace:
[411763.986311]  [&amp;lt;ffffffff81524e6e&amp;gt;] ? panic+0xa7/0x16f
[411763.986324]  [&amp;lt;ffffffffa10a98a8&amp;gt;] ? ldiskfs_commit_super+0x188/0x210 [ldiskfs]
[411763.986331]  [&amp;lt;ffffffffa10a9eb4&amp;gt;] ? ldiskfs_handle_error+0xc4/0xd0 [ldiskfs]
[411763.986338]  [&amp;lt;ffffffffa10aa252&amp;gt;] ? __ldiskfs_error+0x82/0x90 [ldiskfs]
[411763.986344]  [&amp;lt;ffffffffa10b194f&amp;gt;] ? ldiskfs_xattr_inode_iget+0xbf/0x190 [ldiskfs]
[411763.986350]  [&amp;lt;ffffffffa10b1c66&amp;gt;] ? ldiskfs_xattr_inode_get+0x26/0xf0 [ldiskfs]
[411763.986356]  [&amp;lt;ffffffffa10b15ce&amp;gt;] ? ldiskfs_xattr_find_entry+0x3e/0x120 [ldiskfs]
[411763.986362]  [&amp;lt;ffffffffa10b26bc&amp;gt;] ? ldiskfs_xattr_get+0x18c/0x330 [ldiskfs]
[411763.986368]  [&amp;lt;ffffffffa10b492b&amp;gt;] ? ldiskfs_xattr_trusted_get+0x2b/0x30 [ldiskfs]
[411763.986372]  [&amp;lt;ffffffff811ae467&amp;gt;] ? generic_getxattr+0x87/0x90
[411763.986384]  [&amp;lt;ffffffffa1102a60&amp;gt;] ? osd_xattr_get+0x230/0x2e0 [osd_ldiskfs]
[411763.986392]  [&amp;lt;ffffffffa11a657d&amp;gt;] ? lod_xattr_get+0x19d/0x4c0 [lod]
[411763.986403]  [&amp;lt;ffffffffa0f5bce1&amp;gt;] ? mdd_xattr_get+0x111/0x400 [mdd]
[411763.986418]  [&amp;lt;ffffffffa0faddd0&amp;gt;] ? mdt_big_xattr_get+0x110/0xa70 [mdt]
[411763.986424]  [&amp;lt;ffffffffa11a3708&amp;gt;] ? lod_object_read_unlock+0x38/0xd0 [lod]
[411763.986430]  [&amp;lt;ffffffffa0f52b38&amp;gt;] ? mdd_read_unlock+0x38/0xd0 [mdd]
[411763.986435]  [&amp;lt;ffffffffa0f5bcef&amp;gt;] ? mdd_xattr_get+0x11f/0x400 [mdd]
[411763.986441]  [&amp;lt;ffffffffa0f56b15&amp;gt;] ? mdd_la_get+0xb5/0x240 [mdd]
[411763.986451]  [&amp;lt;ffffffffa0fae7fc&amp;gt;] ? mdt_attr_get_lov+0xcc/0x1e0 [mdt]
[411763.986460]  [&amp;lt;ffffffffa0faeed6&amp;gt;] ? mdt_attr_get_complex+0x5c6/0xbb0 [mdt]
[411763.986469]  [&amp;lt;ffffffffa0fafc1f&amp;gt;] ? mdt_getattr_internal+0x23f/0x13f0 [mdt]
[411763.986478]  [&amp;lt;ffffffffa0fb3072&amp;gt;] ? mdt_getattr_name_lock+0xbf2/0x1aa0 [mdt]
[411763.986519]  [&amp;lt;ffffffffa0a4a294&amp;gt;] ? lustre_msg_get_flags+0x34/0xb0 [ptlrpc]
[411763.986528]  [&amp;lt;ffffffffa0fb4442&amp;gt;] ? mdt_intent_getattr+0x292/0x470 [mdt]
[411763.986536]  [&amp;lt;ffffffffa0fa3594&amp;gt;] ? mdt_intent_policy+0x494/0xce0 [mdt]
[411763.986557]  [&amp;lt;ffffffffa09fc739&amp;gt;] ? ldlm_lock_enqueue+0x129/0x9d0 [ptlrpc]
[411763.986580]  [&amp;lt;ffffffffa0a28a2b&amp;gt;] ? ldlm_handle_enqueue0+0x51b/0x13b0 [ptlrpc]
[411763.986592]  [&amp;lt;ffffffffa067e63e&amp;gt;] ? cfs_timer_arm+0xe/0x10 [libcfs]
[411763.986625]  [&amp;lt;ffffffffa0aaaac1&amp;gt;] ? tgt_enqueue+0x61/0x230 [ptlrpc]
[411763.986653]  [&amp;lt;ffffffffa0aaa1ee&amp;gt;] ? tgt_request_handle+0x6fe/0xaf0 [ptlrpc]
[411763.986678]  [&amp;lt;ffffffffa0a5a57a&amp;gt;] ? ptlrpc_main+0xd7a/0x1880 [ptlrpc]
[411763.986681]  [&amp;lt;ffffffff8152557e&amp;gt;] ? thread_return+0x4e/0x760
[411763.986706]  [&amp;lt;ffffffffa0a59800&amp;gt;] ? ptlrpc_main+0x0/0x1880 [ptlrpc]
[411763.986709]  [&amp;lt;ffffffff8109ac66&amp;gt;] ? kthread+0x96/0xa0
[411763.986712]  [&amp;lt;ffffffff8100c20a&amp;gt;] ? child_rip+0xa/0x20
[411763.986714]  [&amp;lt;ffffffff8109abd0&amp;gt;] ? kthread+0x0/0xa0
[411763.986715]  [&amp;lt;ffffffff8100c200&amp;gt;] ? child_rip+0x0/0x20
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Zam investigated the issue and the details are below:&lt;br/&gt;
1. inode (not ea one, just an ordinary inode) has ino &amp;gt; 2G.&lt;br/&gt;
2. EA inode gets allocated&lt;br/&gt;
3. backward link from EA inode is set, using i_mtime.tv_sec&lt;br/&gt;
4. EA inode is written to disk, inode-&amp;gt;i_mtime is written as i_mtime field of ext4_inode.&lt;br/&gt;
5. fs is remounted or EA inode is removed from inode cache.&lt;br/&gt;
6. ldiskfs accesses EA inode, by calling ldiskfs_xattr_inode_iget()&lt;br/&gt;
7. ldiskfs_iget(sb, ea_ino) &#8211; reads EA inode from disk and sets inode-&amp;gt;i_mtime (timeval struct) from on-disk inode field (__le32 type)&lt;br/&gt;
by using macro:&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;#define EXT4_INODE_GET_XTIME(xtime, inode, raw_inode) \
do {                                                                           \
        (inode)-&amp;gt;xtime.tv_sec = (signed)le32_to_cpu((raw_inode)-&amp;gt;xtime);       \
        if (EXT4_FITS_IN_INODE(raw_inode, EXT4_I(inode), xtime ## _extra))     \
                ext4_decode_extra_time(&amp;amp;(inode)-&amp;gt;xtime,                        \
                                       raw_inode-&amp;gt;xtime ## _extra);            \
} while (0)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;in result, the highest bit of the inode number which we know is 1 (ino &amp;gt; 2G ) gets extended over high 32 bits of long int tv_sec field.&lt;br/&gt;
8. comparing tv_sec (signed long int, with high 32 bits set) and inode-&amp;gt;i_ino (unsigned long, high 32 bits are clear) fails:&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;        if (ea_inode-&amp;gt;i_xattr_inode_parent != parent-&amp;gt;i_ino ||
            ea_inode-&amp;gt;i_generation != parent-&amp;gt;i_generation) {
                ext4_error(parent-&amp;gt;i_sb, &quot;Backpointer from EA inode %d &quot;
                           &quot;to parent invalid.&quot;, ea_ino);
                *err = -EINVAL;
                goto error;
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Zam has been able to reproduce the issue and also has a patch fix for it which he will post shortly.&lt;/p&gt;</description>
                <environment></environment>
        <key id="33764">LU-7581</key>
            <summary>Large EA: &quot;ldiskfs_xattr_inode_iget: Backpointer from EA inode 2300579989 to parent invalid&quot;</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="niu">Niu Yawei</assignee>
                                    <reporter username="kshah">Kalpak Shah</reporter>
                        <labels>
                            <label>ldiskfs</label>
                    </labels>
                <created>Fri, 18 Dec 2015 09:19:03 +0000</created>
                <updated>Wed, 24 Aug 2016 16:59:22 +0000</updated>
                            <resolved>Tue, 5 Jan 2016 07:34:44 +0000</resolved>
                                    <version>Lustre 2.8.0</version>
                                    <fixVersion>Lustre 2.8.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="136881" author="adilger" created="Fri, 18 Dec 2015 18:25:44 +0000"  >&lt;p&gt;Looks like the fix would be to cast &lt;tt&gt;(__u32)ea_inode-&amp;gt;i_xattr_inode_parent&lt;/tt&gt; so the comparison is valid?&lt;/p&gt;</comment>
                            <comment id="136905" author="gerrit" created="Fri, 18 Dec 2015 21:13:40 +0000"  >&lt;p&gt;Alexander Zarochentsev (alexander.zarochentsev@seagate.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/17675&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/17675&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7581&quot; title=&quot;Large EA: &amp;quot;ldiskfs_xattr_inode_iget: Backpointer from EA inode 2300579989 to parent invalid&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7581&quot;&gt;&lt;del&gt;LU-7581&lt;/del&gt;&lt;/a&gt; ldiskfs: wrong EA inode backponter check&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 104cd08d0232424139719314233e6a12fb09ef62&lt;/p&gt;</comment>
                            <comment id="136906" author="zam" created="Fri, 18 Dec 2015 21:15:23 +0000"  >&lt;p&gt;patch &lt;a href=&quot;http://review.whamcloud.com/17675&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/17675&lt;/a&gt; &lt;/p&gt;</comment>
                            <comment id="136908" author="zam" created="Fri, 18 Dec 2015 21:20:34 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=adilger&quot; class=&quot;user-hover&quot; rel=&quot;adilger&quot;&gt;adilger&lt;/a&gt; ,&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Looks like the fix would be to cast (__u32)ea_inode-&amp;gt;i_xattr_inode_parent so the comparison is valid?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;yes, that was fist fix and it worked. adding type conversions in place looked not right for me and I made macros to set/get of backpointers.&lt;/p&gt;</comment>
                            <comment id="137857" author="gerrit" created="Mon, 4 Jan 2016 21:18:37 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/17675/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/17675/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7581&quot; title=&quot;Large EA: &amp;quot;ldiskfs_xattr_inode_iget: Backpointer from EA inode 2300579989 to parent invalid&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7581&quot;&gt;&lt;del&gt;LU-7581&lt;/del&gt;&lt;/a&gt; ldiskfs: wrong EA inode backpointer check&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: c405ccb5e248fed55da0590503782c26b4c0859b&lt;/p&gt;</comment>
                            <comment id="137911" author="adilger" created="Tue, 5 Jan 2016 07:34:44 +0000"  >&lt;p&gt;Patch was landed to master for 2.8.0.&lt;/p&gt;</comment>
                            <comment id="138296" author="gerrit" created="Fri, 8 Jan 2016 07:50:29 +0000"  >&lt;p&gt;Jian Yu (jian.yu@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/17888&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/17888&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7581&quot; title=&quot;Large EA: &amp;quot;ldiskfs_xattr_inode_iget: Backpointer from EA inode 2300579989 to parent invalid&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7581&quot;&gt;&lt;del&gt;LU-7581&lt;/del&gt;&lt;/a&gt; ldiskfs: wrong EA inode backpointer check for RHEL7.2&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 3e45bca7d3c5b67733b771c60b609b6edc56db36&lt;/p&gt;</comment>
                            <comment id="142116" author="gerrit" created="Fri, 12 Feb 2016 23:13:39 +0000"  >&lt;p&gt;Andreas Dilger (andreas.dilger@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/18436&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18436&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7581&quot; title=&quot;Large EA: &amp;quot;ldiskfs_xattr_inode_iget: Backpointer from EA inode 2300579989 to parent invalid&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7581&quot;&gt;&lt;del&gt;LU-7581&lt;/del&gt;&lt;/a&gt; ldiskfs: RHEL7.2 fix wrong EA inode backpointer check&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: ea5ea4423ed313c52c7c5682783fe3662307c137&lt;/p&gt;</comment>
                            <comment id="143864" author="gerrit" created="Thu, 25 Feb 2016 22:13:47 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/18436/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18436/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7581&quot; title=&quot;Large EA: &amp;quot;ldiskfs_xattr_inode_iget: Backpointer from EA inode 2300579989 to parent invalid&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7581&quot;&gt;&lt;del&gt;LU-7581&lt;/del&gt;&lt;/a&gt; ldiskfs: RHEL7.2 fix wrong EA inode backpointer check&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: f8de29d5cd226ec86aac3500b70eaf203cc1ae0b&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="34693">LU-7781</issuekey>
        </issuelink>
                            </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_10490" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>End date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 21 Dec 2015 09:19:03 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzxw9r:</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="10020"><![CDATA[1]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10493" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 18 Dec 2015 09:19:03 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>