<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:34:17 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-17300] Avoid creating new dir/file/object on newly added MDT/OST</title>
                <link>https://jira.whamcloud.com/browse/LU-17300</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;When a new MDT is added to a filesystem without &lt;tt&gt;no_create&lt;/tt&gt; then the DNE MDT auto-balance is enabled, then a new subdirectory could be created on the new MDT relatively quickly after it is added to the filesystem. However, it might take a few seconds for the addition of the new MDT to be propagated across all of the clients, so there is a small risk that an MDT is holding a subdirectory that another client is not yet aware of. &lt;/p&gt;

&lt;p&gt;I think there are two relatively simple solutions to this:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;don&apos;t consider a new MDT for subdirectory creation for, say, 30s after it appears in the config, to give other clients a chance to discover it&lt;/li&gt;
	&lt;li&gt;if a new MDT is used for a subdirectory that is not in the config, then the client should pull the config from the MGS to see if it was newly added.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The similar situation exists with new OSTs added to an existing files, where the MDS is notified about an OST addition and allocates an object to a file, but the client has not yet been notified about the new OST and will return an error accessing the file. The solution in this case is the same - avoiding to use a new OST for object allocation for ~30s after the OST is added, and similarly for clients to pull the config from the MGS to see if the OST was newly added. &lt;/p&gt;

&lt;p&gt;This ticket is tracking the first issue - don&apos;t create new subdirs/files/objects on newly-added targets.  &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17344&quot; title=&quot;ldlm_resource_get() ASSERTION(name-&amp;gt;name[0] != 0) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17344&quot;&gt;LU-17344&lt;/a&gt; is separately tracking the client more gracefully handling the presence of subdirs/files/objects on an MDT or OST that it doesn&apos;t know about.&lt;/p&gt;</description>
                <environment></environment>
        <key id="79003">LU-17300</key>
            <summary>Avoid creating new dir/file/object on newly added MDT/OST</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="wc-triage">WC Triage</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                    </labels>
                <created>Sun, 19 Nov 2023 01:11:21 +0000</created>
                <updated>Mon, 22 Jan 2024 06:00:06 +0000</updated>
                                            <version>Lustre 2.15.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="395386" author="adilger" created="Mon, 4 Dec 2023 19:14:58 +0000"  >&lt;p&gt;The new conf-sanity test_46b added in patch: &lt;a href=&quot;https://review.whamcloud.com/53300&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/53300&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17327&quot; title=&quot;Write conf-santity test case for online OST and MDT addition&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17327&quot;&gt;LU-17327&lt;/a&gt; tests: add test case for online MDT and OST addition&lt;/tt&gt;&quot; shows this case nicely:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[  183.117948] Lustre: DEBUG MARKER: == conf-sanity test 46b: online OST and MDT addition ===== 16:48:36 (1701380916)
[  206.830361] Lustre: Mounted lustre-client
[  214.067224] LustreError: 14230:0:(lov_ea.c:279:lsme_unpack()) lustre-clilov_UUID: OST index 1 more than OST count 1
[  214.070240] Lustre: 14230:0:(lov_pack.c:57:lov_dump_lmm_common()) objid 0x2ab:1025, magic 0x0bd10bd0, pattern 0x1
[  214.072822] Lustre: 14230:0:(lov_pack.c:61:lov_dump_lmm_common()) stripe_size 4194304, stripe_count 1, layout_gen 0
[  214.075459] Lustre: 14230:0:(lov_pack.c:81:lov_dump_lmm_objects()) stripe 0 idx 1 subobj 0x2c0000401:2
[  214.078104] LustreError: 14230:0:(lcommon_cl.c:196:cl_file_inode_init()) lustre: failed to initialize cl_object [0x200000401:0x2ab:0x0]: rc = -22
[  214.081653] LustreError: 14230:0:(llite_lib.c:3613:ll_prep_inode()) new_inode -fatal: rc -22
[  460.594212] rsync (14223) used greatest stack depth: 10688 bytes left
[  460.900709] Lustre: DEBUG MARKER: conf-sanity test_46b: @@@@@@ FAIL: rsync failed
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10324">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="79318">LU-17334</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="64857">LU-14792</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="55032">LU-12036</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="57439">LU-12998</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="58656">LU-13417</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="51154">LU-10784</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="79266">LU-17327</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|i0426n:</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>