<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:14:19 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-1187] DNE Phase 1: Remote Directories</title>
                <link>https://jira.whamcloud.com/browse/LU-1187</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;h2&gt;&lt;a name=&quot;DNEPhase1%3ARemoteDirecories&quot;&gt;&lt;/a&gt;DNE Phase 1: Remote Direcories&lt;/h2&gt;

&lt;p&gt;This issue is for tracking progress of DNE Phase 1: Remote Directories.&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;Introduction&quot;&gt;&lt;/a&gt;Introduction&lt;/h2&gt;

&lt;p&gt;Today&apos;s HPC systems routinely configure Lustre with tens of thousands of clients. Each client draws resources from a single metadata server (MDS). The efforts of the Lustre community continue to improve the performance of the MDS, however, as client numbers continue to increase the single MDS represents a fundamental limit to filesystem scalability.&lt;/p&gt;

&lt;p&gt;The goal of the Distributed Namespace (DNE) project is to a deliver a documented and tested implementation of Lustre that addresses this scaling limit by distributing the filesystem metadata over multiple metadata servers. This is an ambitious engineering project that will take place over a period of two years. It requires considerable engineering and testing resource and will therefore be performed in the two phases described below.&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;Phase1%3ARemoteDirectories&quot;&gt;&lt;/a&gt;Phase 1: Remote Directories&lt;/h2&gt;

&lt;p&gt;This phase introduces a useful minimum of distributed metadata functionality. The purpose primarily to ensure that efforts concentrate on clean code restructuring for DNE. The phase focuses on extensive testing to shake out bugs and oversights not only in the implementation but also in administrative procedures. DNE brings new usage patterns that must necessarily adapt to manage multiple metadata servers.&lt;/p&gt;

&lt;p&gt;The Lustre namespace will be distributed by allowing directory entries to reference sub-directories on different metadata targets (MDTs).&amp;nbsp; Individual directories will remain bound to a single MDT, therefore metadata throughput on single directories will stay limited by single MDS performance, but metadata throughput aggregated over distributed directories will scale.&lt;/p&gt;

&lt;p&gt;The creation of non-local subdirectories will initially be restricted to administrators with a Lustre-specific mkdir command.&amp;nbsp; This will ensure that administrators retain control over namespace distribution to guarantee performance isolation.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="13445">LU-1187</key>
            <summary>DNE Phase 1: Remote Directories</summary>
                <type id="5" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/epic.png">Epic</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="laisiyao">Lai Siyao</assignee>
                                    <reporter username="rhenwood">Richard Henwood</reporter>
                        <labels>
                    </labels>
                <created>Mon, 5 Mar 2012 05:09:48 +0000</created>
                <updated>Sat, 14 Apr 2018 12:15:13 +0000</updated>
                            <resolved>Mon, 29 May 2017 03:32:33 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>9</watches>
                                                                            <comments>
                            <comment id="53061" author="di.wang" created="Tue, 26 Feb 2013 22:12:40 +0000"  >&lt;p&gt;Test plan for DNE phaseI&lt;/p&gt;</comment>
                            <comment id="73917" author="shadow" created="Fri, 20 Dec 2013 08:38:36 +0000"  >&lt;p&gt;I like to see intel land a patches without good compatibility code.&lt;br/&gt;
commit 75ae281dac43534f65df0113a4bf5ccaf5aedca9&lt;br/&gt;
Author: Wang Di &amp;lt;di.wang@whamcloud.com&amp;gt;&lt;br/&gt;
Date:   Thu Jul 26 04:02:58 2012 -0700&lt;/p&gt;

&lt;p&gt;    &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1187&quot; title=&quot;DNE Phase 1: Remote Directories&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1187&quot;&gt;&lt;del&gt;LU-1187&lt;/del&gt;&lt;/a&gt; mdt: Add MDS_INODELOCK_PERM lock for remote dir&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;+               /* Note: We have to match both LOOKUP and PERM lock
+                * here to make sure the dentry is valid and no one
+                * changing the permission.
+                * But &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the client connects &amp;lt; 2.4 server, which will
+                * only grant LOOKUP lock, so we can only Match LOOKUP
+                * lock &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; old server */
+               &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (exp_connect_flags(ll_i2mdexp(de-&amp;gt;d_inode)) &amp;amp;&amp;amp;
+                                                       OBD_CONNECT_LVB_TYPE)
+                       matched_bits =
+                               MDS_INODELOCK_LOOKUP | MDS_INODELOCK_PERM;
+               &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;
+                       matched_bits = MDS_INODELOCK_LOOKUP;            
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;why you check a connect_LVB it&apos;s don&apos;t related and very different feature? if you want you must check an osd_ibits_know or introduce a new connect flag.&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;@@ -3565,10 +3569,11 @@ &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; mdt_intent_getattr(&lt;span class=&quot;code-keyword&quot;&gt;enum&lt;/span&gt; mdt_it_code opcode,
 
         &lt;span class=&quot;code-keyword&quot;&gt;switch&lt;/span&gt; (opcode) {
         &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; MDT_IT_LOOKUP:
-                child_bits = MDS_INODELOCK_LOOKUP;
+               child_bits = MDS_INODELOCK_LOOKUP | MDS_INODELOCK_PERM;
                 &lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;;
         &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; MDT_IT_GETATTR:
-                child_bits = MDS_INODELOCK_LOOKUP | MDS_INODELOCK_UPDATE;
+               child_bits = MDS_INODELOCK_LOOKUP | MDS_INODELOCK_UPDATE |
+                            MDS_INODELOCK_PERM;
                 &lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;;
         &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;:
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;you should be don&apos;t send an ibits don&apos;t supported by client to him, because it&apos;s may confuse client code in some case.&lt;/p&gt;

&lt;p&gt;patch also have many spaces at end of line, but it&apos;s don&apos;t block a landing the patch.&lt;/p&gt;</comment>
                            <comment id="224064" author="gerrit" created="Tue, 20 Mar 2018 19:16:59 +0000"  >&lt;p&gt;Andreas Dilger (andreas.dilger@intel.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/31700&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/31700&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1187&quot; title=&quot;DNE Phase 1: Remote Directories&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1187&quot;&gt;&lt;del&gt;LU-1187&lt;/del&gt;&lt;/a&gt; idl: remove obsolete directory split flags&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 7b6e57a4dd1cffd91726a5b4f0b4841f034e640e&lt;/p&gt;</comment>
                            <comment id="226049" author="gerrit" created="Sat, 14 Apr 2018 12:15:13 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/31700/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/31700/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1187&quot; title=&quot;DNE Phase 1: Remote Directories&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1187&quot;&gt;&lt;del&gt;LU-1187&lt;/del&gt;&lt;/a&gt; idl: remove obsolete directory split flags&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 5c53c353fd823df93fbee07f4c62786899584ab2&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="16722">LU-2359</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="13441">LU-1183</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="16442">LU-2240</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="14615">LU-1445</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="13444">LU-1186</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="13442">LU-1184</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="13443">LU-1185</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12889">LU-991</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="15929">LUDOC-86</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="12274" name="DNE_test Plan_0226.docx" size="50894" author="di.wang" created="Tue, 26 Feb 2013 22:12:40 +0000"/>
                            <attachment id="13000" name="Implementation_Milestone_1_Completion.pdf" size="768018" author="rhenwood" created="Wed, 5 Jun 2013 19:54:50 +0000"/>
                            <attachment id="13001" name="Implementation_Milestone_2_Completion.pdf" size="159261" author="rhenwood" created="Wed, 5 Jun 2013 19:54:50 +0000"/>
                            <attachment id="13003" name="Implementation_Milestone_3_Completion.pdf" size="797117" author="rhenwood" created="Wed, 5 Jun 2013 20:12:00 +0000"/>
                            <attachment id="12999" name="OpenSFS_DNE1_Demonstration_r2.pdf" size="97659" author="rhenwood" created="Wed, 5 Jun 2013 19:51:47 +0000"/>
                    </attachments>
                <subtasks>
                            <subtask id="15928">LU-1917</subtask>
                            <subtask id="17091">LU-2646</subtask>
                            <subtask id="17375">LU-2715</subtask>
                            <subtask id="17452">LU-2754</subtask>
                            <subtask id="17502">LU-2781</subtask>
                    </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_10093" key="com.pyxis.greenhopper.jira:gh-epic-label">
                        <customfieldname>Epic Name</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DNE Phase 1</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzv2xj:</customfieldvalue>

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