<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:34: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-17295] avoiding VFS exclusive locking on shared parent directory in -&gt;atomic_open()</title>
                <link>https://jira.whamcloud.com/browse/LU-17295</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This is an experimental feature to avoid the VFS exclusive locking on parent directory in -&amp;gt;atomic_open during file creations.&lt;/p&gt;

&lt;p&gt;It converted the exclusive semaphore mutex into a shared lock to avoid waiting for the heavy creation RPC to finished&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="78987">LU-17295</key>
            <summary>avoiding VFS exclusive locking on shared parent directory in -&gt;atomic_open()</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</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="qian_wc">Qian Yingjin</assignee>
                                    <reporter username="qian_wc">Qian Yingjin</reporter>
                        <labels>
                    </labels>
                <created>Fri, 17 Nov 2023 03:20:41 +0000</created>
                <updated>Mon, 18 Dec 2023 23:21:22 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="393351" author="qian_wc" created="Fri, 17 Nov 2023 04:02:10 +0000"  >&lt;p&gt;Found a possible bug in Lustre:&lt;/p&gt;

&lt;p&gt;&#160;&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;
 &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; ll_atomic_open()
        &lt;span class=&quot;code-comment&quot;&gt;/* VFS has locked the inode before calling &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; */&lt;/span&gt;
&#160; &#160; &#160; &#160; ll_set_inode_lock_owner(dir); &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;As the dir maybe lock in shared mode, we may wrongly thought that the @dir is locked in exclusive mode:&lt;/p&gt;

&lt;p&gt;&#160;&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; (open_flag &amp;amp; O_CREAT)
		inode_lock(dir-&amp;gt;d_inode);
	&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;
		inode_lock_shared(dir-&amp;gt;d_inode);
	error = lookup_open(nd, &amp;amp;path, file, op, got_write);
	&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (open_flag &amp;amp; O_CREAT)
		inode_unlock(dir-&amp;gt;d_inode);
	&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;
		inode_unlock_shared(dir-&amp;gt;d_inode);

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;in vvp_inode_ops(),&lt;/p&gt;

&lt;p&gt;we may unlock the inode wrongly...&lt;/p&gt;

&lt;p&gt;&#160;&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;case&lt;/span&gt; COIO_INODE_UNLOCK:
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (ll_get_inode_lock_owner(inode) == current)
               ll_inode_unlock(inode); &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="393374" author="gerrit" created="Fri, 17 Nov 2023 08:35:18 +0000"  >&lt;p&gt;&quot;Qian Yingjin &amp;lt;qian@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/53169&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53169&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17295&quot; title=&quot;avoiding VFS exclusive locking on shared parent directory in -&amp;gt;atomic_open()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17295&quot;&gt;LU-17295&lt;/a&gt; llite: avoid VFS exclusive locking in atomic_open&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: a5d02885d5eaacaefc10c7962056587b74199daf&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <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|i0423b:</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>