<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:10:15 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-14494] check object existence in mdt_close_handle_layouts()</title>
                <link>https://jira.whamcloud.com/browse/LU-14494</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In &lt;tt&gt;mdt_close_handle_layouts()&lt;/tt&gt; the client supplied FID may not identify an existing object. So we should check before calling &lt;tt&gt;lu_object_attr()&lt;/tt&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="63215">LU-14494</key>
            <summary>check object existence in mdt_close_handle_layouts()</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="jhammond">John Hammond</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                    </labels>
                <created>Fri, 5 Mar 2021 18:45:43 +0000</created>
                <updated>Wed, 28 Apr 2021 13:45:15 +0000</updated>
                            <resolved>Tue, 30 Mar 2021 16:26:29 +0000</resolved>
                                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="294401" author="jhammond" created="Tue, 9 Mar 2021 16:51:26 +0000"  >&lt;p&gt;&lt;a href=&quot;https://review.whamcloud.com/#/c/41905/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/41905/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;EX-14494 mdt: check object exists in mdt_close_handle_layouts()&lt;/p&gt;

&lt;p&gt;In mdt_close_handle_layouts() the client supplied FID may not identify&lt;br/&gt;
an existing object. So check for this before calling lu_object_attr().&lt;/p&gt;

&lt;p&gt;Signed-off-by: John L. Hammond &amp;lt;jhammond@whamcloud.com&amp;gt;&lt;br/&gt;
Change-Id: Ib1710ca4bf7587e0496b3a37a2afb65f81250455&lt;/p&gt;</comment>
                            <comment id="297176" author="gerrit" created="Tue, 30 Mar 2021 04:16:20 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/41905/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/41905/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14494&quot; title=&quot;check object existence in mdt_close_handle_layouts()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14494&quot;&gt;&lt;del&gt;LU-14494&lt;/del&gt;&lt;/a&gt; mdt: check object exists in mdt_close_handle_layouts()&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 075bea805efe8a7ef1a3aabd8dd2c166bb52115b&lt;/p&gt;</comment>
                            <comment id="297272" author="pjones" created="Tue, 30 Mar 2021 16:26:29 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                            <comment id="297302" author="adilger" created="Tue, 30 Mar 2021 18:51:18 +0000"  >&lt;p&gt;Alex,&lt;br/&gt;
I think John has raised this issue elsewhere (though I can&apos;t find it), so I will do it again here - should we remove this &lt;tt&gt;LASSERT(LOHA_EXISTS)&lt;/tt&gt; and just return &lt;tt&gt;&amp;#45;ENOENT&lt;/tt&gt; in this case?  Jira is littered with tickets where the &lt;tt&gt;LOHA_EXISTS&lt;/tt&gt; assertion is triggered (41 different tickets at last count, I just hit another one in LFSCK over the weekend), and in many cases the solution is just to add extra code to check that the object does not exist &lt;em&gt;before&lt;/em&gt; calling &lt;tt&gt;lu&amp;#95;object&amp;#95;attr&amp;#45;&amp;gt;lu&amp;#95;object&amp;#95;exists()&lt;/tt&gt;, which isn&apos;t really simplifying the code, and causes customer outages.  I think this LASSERT has outlived its usefulness if we are adding lines of code just to avoid triggering the LASSERT.&lt;/p&gt;</comment>
                            <comment id="297304" author="jhammond" created="Tue, 30 Mar 2021 19:06:54 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14493&quot; title=&quot;return only existing objects from mdt_object_find()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14493&quot;&gt;LU-14493&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="297305" author="bzzz" created="Tue, 30 Mar 2021 19:07:25 +0000"  >&lt;p&gt;Andreas, I&apos;m not really a defender of that LASSERT(), I didn&apos;t introduce that at least &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; but I see some logic for that assertion - there is no point to ask for attributes on non-existing object (which has no attributes by definition). OK, say we change lu_object_attr() to return -ENOENT, but then we have to check/fix &amp;gt;60 callers as normally they do like:&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;
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (S_ISDIR(mdd_object_type(obj)))
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;would that be really different from checking all the places to add if (*_object_exists())... ?&lt;br/&gt;
I think at some point John suggested to have a wrapper that checks for existance internally and use that everywhere except few places when we can expect non-existing object as a valid case?&lt;/p&gt;
</comment>
                            <comment id="297307" author="jhammond" created="Tue, 30 Mar 2021 19:10:53 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14493&quot; title=&quot;return only existing objects from mdt_object_find()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14493&quot;&gt;LU-14493&lt;/a&gt;&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 ">
                                        <issuelink>
            <issuekey id="63214">LU-14493</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|i01oon:</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>