<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:21:04 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-8848] create may send MDS_REINT/REINT_CREATE and LDLM_ENQUEUE/REINT_OPEN</title>
                <link>https://jira.whamcloud.com/browse/LU-8848</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;8:56:48 AM&amp;#93;&lt;/span&gt; John Hammond: On RHEL 6, assume that the file f0 is does not exist. If we do stat(f0) followed by creat(f0) then the create sends a MDS_REINT/REINT_CREATE from ll_create_nd() followed by a LDLM_ENQUEUE/REINT_OPEN from ll_file_open(). I don&apos;t think it was always this way. Am I wrong? If not then do you know when it changed?&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;9:54:50 AM&amp;#93;&lt;/span&gt; Oleg Drokin: hm, it should not work like that. is this master? EE of some sort? Related patches were in the opencache, first the improper fix in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4367&quot; title=&quot;unlink performance regression on lustre-2.5.52 client&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4367&quot;&gt;&lt;del&gt;LU-4367&lt;/del&gt;&lt;/a&gt; and then proper in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8019&quot; title=&quot;Openlock breakage&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8019&quot;&gt;&lt;del&gt;LU-8019&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;9:55:45 AM&amp;#93;&lt;/span&gt; John Hammond: This is in master on 2.6.32-573.12.1.el6_lustre.g74ae81d.x86_64. (HAVE_IOP_ATOMIC_OPEN is not defined.)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;9:57:46 AM&amp;#93;&lt;/span&gt; Oleg Drokin: So in ll_revalidate_dentry we should get this code run:&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;9:57:46 AM&amp;#93;&lt;/span&gt; Oleg Drokin: +       /*&lt;br/&gt;
+        * if open&amp;amp;create is set, talk to MDS to make sure file is created if&lt;br/&gt;
+        * necessary, because we can&apos;t do this in -&amp;gt;open() later since that&apos;s&lt;br/&gt;
+        * called on an inode. return 0 here to let lookup to handle this.&lt;br/&gt;
+        */&lt;br/&gt;
+       if ((lookup_flags &amp;amp; (LOOKUP_OPEN | LOOKUP_CREATE)) ==&lt;br/&gt;
+           (LOOKUP_OPEN | LOOKUP_CREATE))&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;9:58:07 AM&amp;#93;&lt;/span&gt; Oleg Drokin: this would return 0 meaning revaliate fails&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;9:58:49 AM&amp;#93;&lt;/span&gt; Oleg Drokin: then we should not get into create(), but should get into -&amp;gt;lookup() in our code first&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;10:00:13 AM&amp;#93;&lt;/span&gt; Oleg Drokin: ah, &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8371&quot; title=&quot;Optimize open of known negative dentry&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8371&quot;&gt;&lt;del&gt;LU-8371&lt;/del&gt;&lt;/a&gt; removed that&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;10:00:56 AM&amp;#93;&lt;/span&gt; Oleg Drokin: I guess that did fail to take into account older kernels&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;10:01:42 AM&amp;#93;&lt;/span&gt; Oleg Drokin: though rhel6.x is not really supposed to be supported on master anymore, but we probabl can reinstate some of that logic just in rhel6 specific path when IOP_ATOMIC_OPEN is not defined&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;10:04:06 AM&amp;#93;&lt;/span&gt; John Hammond: Well we don&apos;t have HAVE_IOP_ATOMIC_OPEN until 3.6.&lt;/p&gt;</description>
                <environment></environment>
        <key id="41652">LU-8848</key>
            <summary>create may send MDS_REINT/REINT_CREATE and LDLM_ENQUEUE/REINT_OPEN</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="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="green">Oleg Drokin</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>llite</label>
                    </labels>
                <created>Thu, 17 Nov 2016 16:33:01 +0000</created>
                <updated>Thu, 17 Nov 2016 18:16:48 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="174084" author="jay" created="Thu, 17 Nov 2016 17:06:44 +0000"  >&lt;p&gt;Do we really need to handle LOOKUP_REVAL in ll_revalidate_dentry() as dentries in LLITE is protected by a lock?&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|hzyvzj:</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>