<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:57:29 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-12998] DNE3: tunable to disable directory creation on MDT</title>
                <link>https://jira.whamcloud.com/browse/LU-12998</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In order to allow draining an MDT for removal from the filesystem, or to disable it temporarily, it makes sense to add an &quot;&lt;tt&gt;mdt.&amp;#42;.no_create&lt;/tt&gt;&quot; parameter on the MDT similar to &quot;&lt;tt&gt;obdfilter.&amp;#42;.no_precreate&lt;/tt&gt;&quot; on the OST, and a matching mount option &quot;&lt;tt&gt;-o no_create&lt;/tt&gt;&quot;.  The &lt;tt&gt;OS_STATE_NOPRECREATE&lt;/tt&gt;&quot; flag should be set in &lt;tt&gt;obd_statfs&lt;/tt&gt; from the MDT to let clients/MDS know that it should be skipped. &lt;/p&gt;

&lt;p&gt;This should result in new stripes directories skipping the MDT during selection for &quot;&lt;tt&gt;lfs mkdir -i -1&lt;/tt&gt;&quot;, auto striping, etc. &lt;/p&gt;</description>
                <environment></environment>
        <key id="57439">LU-12998</key>
            <summary>DNE3: tunable to disable directory creation on MDT</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="1">Fixed</resolution>
                                        <assignee username="adilger">Andreas Dilger</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>medium</label>
                    </labels>
                <created>Fri, 22 Nov 2019 04:21:25 +0000</created>
                <updated>Thu, 25 Jan 2024 08:36:54 +0000</updated>
                            <resolved>Sun, 19 Nov 2023 00:38:36 +0000</resolved>
                                    <version>Lustre 2.14.0</version>
                    <version>Lustre 2.12.4</version>
                                    <fixVersion>Lustre 2.16.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="301903" author="adilger" created="Tue, 18 May 2021 18:43:53 +0000"  >&lt;p&gt;The &lt;tt&gt;obdfilter.&amp;#42;.no_precreate&lt;/tt&gt; functionality was added for OSTs in patch &lt;a href=&quot;https://review.whamcloud.com/35029&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35029&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12025&quot; title=&quot;Adding OST may cause EIO - delay activation of new OSTs on existing filesystem&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12025&quot;&gt;&lt;del&gt;LU-12025&lt;/del&gt;&lt;/a&gt; osp: allow OS_STATE_* flags from OSTs&lt;/tt&gt;&quot; and patch  &lt;a href=&quot;https://review.whamcloud.com/36716&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/36716&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12036&quot; title=&quot;Add option to create new OSTs inactive&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12036&quot;&gt;&lt;del&gt;LU-12036&lt;/del&gt;&lt;/a&gt; ofd: add &apos;no_precreate&apos; mount option&lt;/tt&gt;&quot;.&lt;/p&gt;</comment>
                            <comment id="319057" author="adilger" created="Wed, 24 Nov 2021 00:48:32 +0000"  >&lt;p&gt;It would probably be best to use &quot;&lt;tt&gt;no_create&lt;/tt&gt;&quot; for the mount option and parameter on the MDT, since &quot;&lt;tt&gt;no_precreate&lt;/tt&gt;&quot; doesn&apos;t make much sense for the MDT.  For consistency, the OST code should &lt;b&gt;also&lt;/b&gt; add a &quot;&lt;tt&gt;no_create&lt;/tt&gt;&quot; mount option and parameter, and rename &lt;tt&gt;OS_STATFS_NOPRECREATE&lt;/tt&gt; to &lt;tt&gt;OS_STATFS_NOCREATE&lt;/tt&gt;, and then deprecate the &quot;&lt;tt&gt;no_precreate&lt;/tt&gt;&quot; option, since it was only added to master in commit 2.14.0, and the b2_12 backport patch &lt;a href=&quot;https://review.whamcloud.com/37133&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37133&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12036&quot; title=&quot;Add option to create new OSTs inactive&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12036&quot;&gt;&lt;del&gt;LU-12036&lt;/del&gt;&lt;/a&gt; ofd: add &quot;no_precreate&quot; mount option&lt;/tt&gt;&quot; has not landed, though it appears the backport patch &lt;a href=&quot;https://review.whamcloud.com/36872&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/36872&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12025&quot; title=&quot;Adding OST may cause EIO - delay activation of new OSTs on existing filesystem&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12025&quot;&gt;&lt;del&gt;LU-12025&lt;/del&gt;&lt;/a&gt; osp: allow OS_STATE_* flags from OSTs&lt;/tt&gt;&quot; was included in 2.12.4.&lt;/p&gt;</comment>
                            <comment id="319059" author="adilger" created="Wed, 24 Nov 2021 01:12:31 +0000"  >&lt;p&gt;Another important issue that needs to be addressed is how the &lt;tt&gt;no_create&lt;/tt&gt; state is returned to the clients?  With patch &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13440&quot; title=&quot;DNE3: limit directory default layout inheritance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13440&quot;&gt;&lt;del&gt;LU-13440&lt;/del&gt;&lt;/a&gt; lmv: add default LMV inherit depth&lt;/tt&gt;&quot; having the clients use the MDT &lt;tt&gt;OBD_STATFS&lt;/tt&gt; data to make space balancing decisions, returning &lt;tt&gt;OS_STATFS_NOCREATE&lt;/tt&gt; to the client can definitely influence the client MDT selection, but I&apos;d think that &lt;tt&gt;no_create=1&lt;/tt&gt; would be a hard restriction against MDT usage (e.g. draining the MDT).&lt;/p&gt;

&lt;p&gt;As such, if a client &lt;b&gt;does&lt;/b&gt; try to create a file or directory on the MDT, the MDT should return an error (&lt;tt&gt;-EREMOTE&lt;/tt&gt; if that would work with the existing clients, or preferably a unique code like &lt;tt&gt;-ENOANO&lt;/tt&gt; or &lt;tt&gt;-EBADRQC&lt;/tt&gt;) that makes it clear the client should use a different MDT for creation.  We &lt;em&gt;shouldn&apos;t&lt;/em&gt; use &lt;tt&gt;-EROFS&lt;/tt&gt; to indicate the MDT cannot be used, since that would be returned to the application and the create would fail.  We might also consider &lt;tt&gt;-ENOSPC&lt;/tt&gt; to have the client try a different MDT, since we would also want the client to do this if the MDT was actually out of space. &lt;/p&gt;

&lt;p&gt;Creating remote subdirectories to avoid a specific MDT is fairly easy today, but avoiding the creation of files or directory entries &lt;b&gt;in&lt;/b&gt; an existing directory is much harder, and we might consider that as a second stage.  If the initial goal is to prevent &quot;new&quot; use of an MDT, the existing directory would not necessarily count, and if MDT evacuation is the goal then some external action would be needed to migrate the existing directories off the MDT, so the added files could also be migrated at that time.&lt;/p&gt;

&lt;p&gt;A more complete solution would be to turn the directory into a striped directory with a shard on another MDT with the &lt;tt&gt;LMV_HASH_FLAG_MIGRATION&lt;/tt&gt; flag set, and then create &lt;b&gt;all&lt;/b&gt; new inodes on the new MDT shard (both files and directories).  That wouldn&apos;t affect existing inodes in the directory, but would prevent all new inodes from being allocated on that MDT in that directory.  Something similar would need to be done during file migration anyway, so a later &quot;&lt;tt&gt;lfs migrate -m&lt;/tt&gt;&quot; would &quot;resume&quot; the migration and move any remaining inodes on the disabled MDT.&lt;/p&gt;</comment>
                            <comment id="332715" author="gerrit" created="Sat, 23 Apr 2022 01:09:16 +0000"  >&lt;p&gt;&quot;Andreas Dilger &amp;lt;adilger@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/47124&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/47124&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12998&quot; title=&quot;DNE3: tunable to disable directory creation on MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12998&quot;&gt;&lt;del&gt;LU-12998&lt;/del&gt;&lt;/a&gt; mds: add no_create parameter to stop creates&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 21b06ef06a84f248fd4a592d2cd46bc7874883f2&lt;/p&gt;</comment>
                            <comment id="393493" author="gerrit" created="Sat, 18 Nov 2023 21:41:19 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/47124/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/47124/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12998&quot; title=&quot;DNE3: tunable to disable directory creation on MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12998&quot;&gt;&lt;del&gt;LU-12998&lt;/del&gt;&lt;/a&gt; mds: add no_create parameter to stop creates&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 1dbcd0bab881fac38d8a5e4ef1559f12618f8f0e&lt;/p&gt;</comment>
                            <comment id="393544" author="adilger" created="Sun, 19 Nov 2023 00:39:35 +0000"  >&lt;p&gt;The disabling of new files on the MDT is tracked under &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17299&quot; title=&quot;DNE3: disable new regular file creation on MDTs mounted with &amp;#39;no_create&amp;#39;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17299&quot;&gt;LU-17299&lt;/a&gt;. &lt;/p&gt;</comment>
                            <comment id="396568" author="gerrit" created="Wed, 13 Dec 2023 09:24:59 +0000"  >&lt;p&gt;&quot;Lai Siyao &amp;lt;lai.siyao@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/53437&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53437&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12998&quot; title=&quot;DNE3: tunable to disable directory creation on MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12998&quot;&gt;&lt;del&gt;LU-12998&lt;/del&gt;&lt;/a&gt; lod: statfs upon nocreate check&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 066262a04cb8e0cbf49a20b7bf036d4484399afe&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10324">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="79002">LU-17299</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="55005">LU-12025</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="71186">LU-16024</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="34119">LU-7668</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="79003">LU-17300</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="79318">LU-17334</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_10092" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>EX-4481</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i00psn:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>