<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:49:40 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-5232] cache directory contents on file descriptor on lock revocation</title>
                <link>https://jira.whamcloud.com/browse/LU-5232</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4906&quot; title=&quot;rm -rf triggers too much MDS_READPAGE&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4906&quot;&gt;&lt;del&gt;LU-4906&lt;/del&gt;&lt;/a&gt; the code was changed to read directory entries one page at a time instead of one entry at a time.  This improves performance with &quot;rm -r&quot; workloads where entries are being deleted on the MDS and the DLM lock on the directory is being revoked repeatedly, but the client needs to keep fetching it to continue the readdir.&lt;/p&gt;

&lt;p&gt;According to SuSv2 it is permissible for &lt;tt&gt;readdir()&lt;/tt&gt; to not be 100% consistent if entries are being added or deleted while &lt;tt&gt;readdir()&lt;/tt&gt; is ongoing:&lt;br/&gt;
&lt;a href=&quot;http://pubs.opengroup.org/onlinepubs/007908799/xsh/readdir.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://pubs.opengroup.org/onlinepubs/007908799/xsh/readdir.html&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt; If a file is removed from or added to the directory after the most recent call to opendir() or rewinddir(), whether a subsequent call to readdir() returns an entry for that file is unspecified.&lt;/p&gt;

&lt;p&gt;The readdir() function may buffer several directory entries per actual read operation; readdir() marks for update the st_atime field of the directory each time the directory is actually read.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;So in summary, it is possible to cache the &lt;tt&gt;readdir()&lt;/tt&gt; contents on the client, even after the DLM lock is revoked so long as it is only cached on the open file descriptor, and is invalidated upon file close or &lt;tt&gt;rewinddir()&lt;/tt&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="25224">LU-5232</key>
            <summary>cache directory contents on file descriptor on lock revocation</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="3">Duplicate</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>medium</label>
                            <label>performance</label>
                    </labels>
                <created>Thu, 19 Jun 2014 17:40:08 +0000</created>
                <updated>Mon, 1 May 2023 00:13:55 +0000</updated>
                            <resolved>Mon, 1 May 2023 00:13:55 +0000</resolved>
                                    <version>Lustre 2.6.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="370987" author="adilger" created="Mon, 1 May 2023 00:13:55 +0000"  >&lt;p&gt;Same issue as &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3308&quot; title=&quot;large readdir chunk size slows unlink/&amp;quot;rm -r&amp;quot; performance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3308&quot;&gt;LU-3308&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="18787">LU-3308</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="24209">LU-4906</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="18787">LU-3308</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|hzwpgf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>14581</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>