<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:50:09 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-5285] mdt_reconstruct_setattr() calls mdt_attr_get_complex() without checking that object exists</title>
                <link>https://jira.whamcloud.com/browse/LU-5285</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Running racer on 2 nodes with MDSCOUNT=1 and &lt;a href=&quot;http://review.whamcloud.com/#/c/5936/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/5936/&lt;/a&gt; (add more operations to racer) I see this frequently.&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;[  803.128945] Lustre: lustre-MDT0000: Client 045a894d-d2a7-e744-df1f-a695740583d8 (at 19\
2.168.122.108@tcp) reconnecting
[  803.134578] LustreError: 5113:0:(lu_object.h:852:lu_object_attr()) ASSERTION( ((o)-&amp;gt;lo\
_header-&amp;gt;loh_attr &amp;amp; LOHA_EXISTS) != 0 ) failed:
[  803.136583] LustreError: 5113:0:(lu_object.h:852:lu_object_attr()) LBUG
[  803.137789] Pid: 5113, comm: mdt00_005
[  803.138439]
[  803.138440] Call Trace:
[  803.139129]  [&amp;lt;ffffffffa02be8c5&amp;gt;] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
[  803.140296]  [&amp;lt;ffffffffa02beec7&amp;gt;] lbug_with_loc+0x47/0xb0 [libcfs]
[  803.141337]  [&amp;lt;ffffffffa0c034ac&amp;gt;] mdt_attr_get_complex+0xaec/0xb80 [mdt]
[  803.142457]  [&amp;lt;ffffffffa0c20425&amp;gt;] mdt_reconstruct_setattr+0xd5/0x410 [mdt]
[  803.143631]  [&amp;lt;ffffffffa04737e0&amp;gt;] ? lu_ucred+0x20/0x30 [obdclass]
[  803.144677]  [&amp;lt;ffffffffa0c1fde5&amp;gt;] mdt_reconstruct+0x45/0x120 [mdt]
[  803.145722]  [&amp;lt;ffffffffa0bfdbfa&amp;gt;] mdt_reint_internal+0x6fa/0x7c0 [mdt]
[  803.146820]  [&amp;lt;ffffffffa0bfe24b&amp;gt;] mdt_reint+0x6b/0x120 [mdt]
[  803.147818]  [&amp;lt;ffffffffa06e9c45&amp;gt;] tgt_request_handle+0x245/0xad0 [ptlrpc]
[  803.148977]  [&amp;lt;ffffffffa069ce31&amp;gt;] ptlrpc_main+0xcf1/0x1880 [ptlrpc]
[  803.150053]  [&amp;lt;ffffffffa069c140&amp;gt;] ? ptlrpc_main+0x0/0x1880 [ptlrpc]
[  803.151093]  [&amp;lt;ffffffff8109eab6&amp;gt;] kthread+0x96/0xa0
[  803.151886]  [&amp;lt;ffffffff8100c30a&amp;gt;] child_rip+0xa/0x20
[  803.152714]  [&amp;lt;ffffffff81554710&amp;gt;] ? _spin_unlock_irq+0x30/0x40
[  803.153677]  [&amp;lt;ffffffff8100bb10&amp;gt;] ? restore_args+0x0/0x30
[  803.154572]  [&amp;lt;ffffffff8109ea20&amp;gt;] ? kthread+0x0/0xa0
[  803.155403]  [&amp;lt;ffffffff8100c300&amp;gt;] ? child_rip+0x0/0x20
[  803.156261]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;When I hit this I see the following sequence of events:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;The MDT crashes.&lt;/li&gt;
	&lt;li&gt;The client node stays up.&lt;/li&gt;
	&lt;li&gt;I restart the MDT.&lt;/li&gt;
	&lt;li&gt;The client resends the setattr.&lt;/li&gt;
	&lt;li&gt;GOTO 1.&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment></environment>
        <key id="25407">LU-5285</key>
            <summary>mdt_reconstruct_setattr() calls mdt_attr_get_complex() without checking that object exists</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="bzzz">Alex Zhuravlev</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>mdt</label>
                            <label>mn4</label>
                    </labels>
                <created>Wed, 2 Jul 2014 17:34:56 +0000</created>
                <updated>Mon, 12 Jan 2015 07:37:41 +0000</updated>
                            <resolved>Fri, 11 Jul 2014 11:19:53 +0000</resolved>
                                    <version>Lustre 2.6.0</version>
                                    <fixVersion>Lustre 2.6.0</fixVersion>
                    <fixVersion>Lustre 2.5.3</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="87994" author="adilger" created="Wed, 2 Jul 2014 18:11:48 +0000"  >&lt;p&gt;Looks like this was added in &lt;a href=&quot;http://review.whamcloud.com/3782&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/3782&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="87999" author="jhammond" created="Wed, 2 Jul 2014 18:18:53 +0000"  >&lt;p&gt;From the source mdt_reconstruct_create() has exactly the same issue. I haven&apos;t gotten a crash there but it does pass an object to mdt_attr_get_complex() without checking that it exists. mdt_reconstruct_open() looks OK. Probably all uses of mdt_attr_get_complex() should be audited...&lt;/p&gt;</comment>
                            <comment id="88074" author="bzzz" created="Thu, 3 Jul 2014 05:46:56 +0000"  >&lt;p&gt;Andreas, 2.1 doesn&apos;t check that either.&lt;/p&gt;

&lt;p&gt;why do we need to return the attributes in the setattr path? we&apos;re in the reconstruct path and given the original transaction was committed, rep-ack lock was cancelled and another client was able to destroy the object. so we can&apos;t return valid attribues. with no LDLM lock the attributes can&apos;t be used either?&lt;/p&gt;</comment>
                            <comment id="88203" author="adilger" created="Fri, 4 Jul 2014 17:43:28 +0000"  >&lt;p&gt;I&apos;m OK with not returning the attributes for setattr if the object is missing.  The setattr itself must have been processed, so it shouldn&apos;t return an error to the caller (i.e. no &lt;tt&gt;-ENOENT&lt;/tt&gt;), but it is OK if the attributes on the client inode are not updated, and it could even be purged from cache if there is a mechanism to do that (e.g. return only &lt;tt&gt;mbo_nlink=0&lt;/tt&gt; and &lt;tt&gt;mbo_flags=OBD_MD_FLNLINK&lt;/tt&gt; to the client).&lt;/p&gt;</comment>
                            <comment id="88598" author="bzzz" created="Wed, 9 Jul 2014 15:05:33 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/11025&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/11025&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="88810" author="pjones" created="Fri, 11 Jul 2014 11:19:53 +0000"  >&lt;p&gt;Landed for 2.6&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="24881">LU-5125</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="28061">LU-6085</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="25680">LU-5388</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="28074">LU-6088</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="25563">LU-5340</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_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzwqfr:</customfieldvalue>

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