<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:34:35 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-17334] Client should handle dir/file/object created on newly added MDT/OST</title>
                <link>https://jira.whamcloud.com/browse/LU-17334</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;When a new MDT or OST is added to a filesystem without &lt;tt&gt;no_create&lt;/tt&gt;, then a new subdirectory or file could be created on the new MDT, or a new object created on an OST relatively quickly after it is added to the filesystem, in particular because the new MDT/OST would be preferred by QOS space balancing due to lots of free space. However, it might take a few seconds for the addition of the new MDT/OST to be propagated across all of the clients, so there is a risk that the MDS creates file object on OSTs that a client is not yet aware of.  There is a much smaller risk that an MDT is used for a subdirectory or file that a client is (depending on workload, if multiple clients are working in the same directory tree in parallel). &lt;/p&gt;

&lt;p&gt;This ticket is tracking the case where a new MDT or OST is used for a subdirectory that is not in the config, then the client should either wait and retry for some short time, possibly actively pulling the config from the MGS to see if the target was newly added, instead of immediately returning an error to the application.  &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17300&quot; title=&quot;Avoid creating new dir/file/object on newly added MDT/OST&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17300&quot;&gt;LU-17300&lt;/a&gt; is tracking the issue of not creating new subdirs/files/objects on newly-added targets in the first place.&lt;/p&gt;

&lt;p&gt;It is still possible that the file layout is itself corrupted for whatever reason, and referencing an OST or MDT index that will never exist in the filesystem, so the client should not retry this operation indefinitely.  But an (up to) ~30 second application delay while the configuration is distributed across the cluster is far preferable to the application getting an error.&lt;/p&gt;</description>
                <environment></environment>
        <key id="79318">LU-17334</key>
            <summary>Client should handle dir/file/object created 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="3" iconUrl="https://jira.whamcloud.com/images/icons/statuses/inprogress.png" description="This issue is being actively worked on at the moment by the assignee.">In Progress</status>
                    <statusCategory id="4" key="indeterminate" colorName="inprogress"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="laisiyao">Lai Siyao</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Dec 2023 18:50:44 +0000</created>
                <updated>Tue, 30 Jan 2024 13:17:40 +0000</updated>
                                            <version>Lustre 2.15.0</version>
                                    <fixVersion>Lustre 2.16.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="395391" author="adilger" created="Mon, 4 Dec 2023 19:49:16 +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;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&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.900709] Lustre: DEBUG MARKER: conf-sanity test_46b: @@@@@@ FAIL: rsync failed
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Somewhere along this codepath, preferably before actually printing a console message, the client should retry this operation periodically (once per second assuming no RPC is being sent, up to &lt;tt&gt;2 &amp;#42; MGC_TARGET_REG_LIMIT_MAX&lt;/tt&gt; seconds in total) before printing the error about the bad layout and returning an error to the application.&lt;/p&gt;

&lt;p&gt;Since this only applies to &lt;b&gt;new&lt;/b&gt; targets that the client isn&apos;t even aware of, there shouldn&apos;t be a need to delay indefinitely due to recovery.  If the OST/MDT registers with the MGS and is then taken offline again immediately, the client will still be notified of the new target by the MGS, at which point the RPC will be blocked in normal RPC resend and will wait &lt;b&gt;there&lt;/b&gt; indefinitely.&lt;/p&gt;

&lt;p&gt;The number of retries on the client might be shortened slightly by immediately triggering the MGC to refetch the configuration from the MGS, but I&apos;m not sure that is easily done in this part of the code, and it is a relatively small optimization for a very uncommon situation, so I don&apos;t think it is needed for the initial implementation.&lt;/p&gt;</comment>
                            <comment id="395401" author="adilger" created="Mon, 4 Dec 2023 21:15:33 +0000"  >&lt;p&gt;It looks like a reasonable approach to fixing this might be to add a loop in &lt;tt&gt;lsme_unpack()&lt;/tt&gt; (which is called in various places for different layout types) that is waiting and retrying (not in a busy loop) for some number of seconds for the filesystem layout to be updated if either the &quot;&lt;tt&gt;loi-&amp;gt;loi_ost_idx &amp;gt;= lov-&amp;gt;desc.ld_tgt_count&lt;/tt&gt;&quot; or &quot;&lt;tt&gt;!ltd&lt;/tt&gt;&quot; condition is hit. Since this situation is expected to become more &quot;normal&quot; in the future, it would be useful if the &lt;tt&gt;CERROR()&lt;/tt&gt; message is only printed &lt;b&gt;once&lt;/b&gt; per 600s in this case as a &lt;tt&gt;D_WARNING&lt;/tt&gt; until the retry time has elapsed, then it should be printed as a &lt;tt&gt;CERROR()&lt;/tt&gt;. Something like:&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;static&lt;/span&gt; time_t next_print;
        unsigned &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; level;
        time_t retry_limit = 0;

        :
        :
retry:
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (unlikely(loi-&amp;gt;loi_ost_idx &amp;gt;= lov-&amp;gt;desc.ld_tgt_count &amp;amp;&amp;amp;
                    !lov2obd(lov)-&amp;gt;obd_process_conf)) {
                        time_t now = ktime_get_seconds();

                        &lt;span class=&quot;code-comment&quot;&gt;/* print a message on the first hit, error &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; giving up */&lt;/span&gt;
                        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (retry_limit == 0) {
                                level = now &amp;gt; next_print ? D_WARNING : D_INFO;
                                retry_limit = now + MGC_TARGET_REG_LIMIT_MAX;
                        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (now &amp;gt; retry_limit) {
                                level = D_ERROR;
                        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
                                level = D_INFO;
                        }

                        &lt;span class=&quot;code-comment&quot;&gt;/* log in debug log every loop, just to see it is trying */&lt;/span&gt;
         &#160; &#160; &#160; &#160; &#160; &#160; &#160;&#160; CDEBUG_LIMIT(level, &lt;span class=&quot;code-quote&quot;&gt;&quot;%s: OST index %d more than OST count %d\n&quot;&lt;/span&gt;,
                                     lov-&amp;gt;desc.ld_uuid.uuid, loi-&amp;gt;loi_ost_idx,
                                     lov-&amp;gt;desc.ld_tgt_count); 
 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (now &amp;gt; next_print) {
  &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; LCONSOLE_INFO(&lt;span class=&quot;code-quote&quot;&gt;&quot;%s: wait %us &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; client connects to &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; OST\n&quot;&lt;/span&gt;,
 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;  lov-&amp;gt;desc.ld_uuid.uuid, retry_limit - now);
                                next_print = retry_limit + 600;
                        }
 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;  &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (now &amp;lt; retry_limit) {
                               rc = schedule_timeout_interruptible(cfs_time_seconds(1));
                               &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc == 0)
                                       &lt;span class=&quot;code-keyword&quot;&gt;goto&lt;/span&gt; retry;
                        }
                        lov_dump_lmm_v1(D_WARNING, lmm);
                        GOTO(out_lsme, rc = -EINVAL);
                }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and the same for the &quot;&lt;tt&gt;!ltd&lt;/tt&gt;&quot; case, using the same global &lt;tt&gt;next_print&lt;/tt&gt; and &lt;tt&gt;retry_limit&lt;/tt&gt; so that the messages aren&apos;t printed multiple times for different threads/files or even OSTs within the same file.&lt;/p&gt;</comment>
                            <comment id="395404" author="adilger" created="Mon, 4 Dec 2023 21:30:52 +0000"  >&lt;p&gt;Something similar would be needed somewhere in the LMV code on the client to handle the case of a new inode FID on an MDT that the client hasn&apos;t connected to yet.&#160; That is less critical than the OST case (client accessing file it created itself, vs. client accessing a file/directory created by another client on a different MDT) but should still be fixed.&#160; Having a test case for that would need something like &lt;tt&gt;mdtest&lt;/tt&gt; in a loop creating small files and then verifying them on a different client/mountpoint.&lt;/p&gt;</comment>
                            <comment id="395430" author="adilger" created="Tue, 5 Dec 2023 00:19:21 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=laisiyao&quot; class=&quot;user-hover&quot; rel=&quot;laisiyao&quot;&gt;laisiyao&lt;/a&gt; would you be able to look at the LMV side of this code while Jian is working on the LOV side?&#160; We would ideally want something working in the next couple of days, as there will be a customer system that is expanding from 20-&amp;gt;40 MDTs, so handling the similar &quot;&lt;tt&gt;trusted.lmv&lt;/tt&gt; is accessing an unknown MDT index&quot; retry loop would be very useful to have.&lt;/p&gt;</comment>
                            <comment id="395467" author="yujian" created="Tue, 5 Dec 2023 08:38:35 +0000"  >&lt;p&gt;On the LOV side, while building and testing the patch locally, I hit some build errors. I&apos;m still resolving the failures.&lt;/p&gt;</comment>
                            <comment id="395490" author="laisiyao" created="Tue, 5 Dec 2023 13:48:53 +0000"  >&lt;p&gt;Yujian, where is your patch?&lt;/p&gt;</comment>
                            <comment id="395532" author="yujian" created="Tue, 5 Dec 2023 16:45:22 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=laisiyao&quot; class=&quot;user-hover&quot; rel=&quot;laisiyao&quot;&gt;laisiyao&lt;/a&gt;, I&apos;ve not pushed it to Gerrit yet. The patch needs to pass local building and testing first.&lt;br/&gt;
Basically, the changes are in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17334?focusedId=395401&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-395401&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;#comment-395401&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="395554" author="adilger" created="Tue, 5 Dec 2023 18:43:14 +0000"  >&lt;p&gt;Jian, I was thinking what might be a lot simpler instead of &lt;tt&gt;wait_event_interruptible_timeout()&lt;/tt&gt; is something like &lt;tt&gt;schedule_timeout_interruptible(cfs_time_seconds(1)&lt;/tt&gt; and it just goes through the loop more times, which is fine because it doesn&apos;t do anything except check the &lt;tt&gt;ld_tgt_count&lt;/tt&gt; and the layout, which have very low overhead. &lt;/p&gt;

&lt;p&gt;This should basically never happen, so these checks could also be marked &lt;tt&gt;unlikely()&lt;/tt&gt; so they don&apos;t add any overhead. &lt;/p&gt;</comment>
                            <comment id="395557" author="yujian" created="Tue, 5 Dec 2023 19:12:43 +0000"  >&lt;p&gt;Sure, Andreas, I&apos;m testing the new changes.&lt;/p&gt;</comment>
                            <comment id="395571" author="gerrit" created="Tue, 5 Dec 2023 21:02:24 +0000"  >&lt;p&gt;&quot;Jian Yu &amp;lt;yujian@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/53335&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53335&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17334&quot; title=&quot;Client should handle dir/file/object created on newly added MDT/OST&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17334&quot;&gt;LU-17334&lt;/a&gt; lov: handle object created on newly added OST&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 117bf170337301512d0b2deaeb19b64b4f58baba&lt;/p&gt;</comment>
                            <comment id="395647" author="adilger" created="Wed, 6 Dec 2023 09:38:19 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=laisiyao&quot; class=&quot;user-hover&quot; rel=&quot;laisiyao&quot;&gt;laisiyao&lt;/a&gt;, it is getting more likely that the test failures after Jian&apos;s LOV patch are now related to MDT addition:&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;1701844910: rsync: stat &quot;/mnt/lustre/d46b.conf-sanity/etc/NetworkManager&quot; failed: No such file or directory (2)
1701844910: rsync: recv_generator: mkdir &quot;/mnt/lustre/d46b.conf-sanity/etc/NetworkManager/conf.d&quot; failed: No such file or directory (2)
:
:
(Default) /mnt/lustre/d46b.conf-sanity/etc/NetworkManager
lmm_fid:           [0x280000401:0x1:0x0]
stripe_count:  1 stripe_size:   4194304 pattern:       0 stripe_offset: -1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This is the first file to report an error, and it looks like the first file to be allocated on the newly-added MDT0001 (based on FID):&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;lustre: cli-ctl-lustre-MDT0001: Allocated super-sequence [0x0000000240000400-0x0000000280000400):1:mdt]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="395663" author="laisiyao" created="Wed, 6 Dec 2023 12:52:20 +0000"  >&lt;p&gt;Mmm, Fujian, I&apos;ll update your patch with the LMV change.&lt;/p&gt;</comment>
                            <comment id="395781" author="adilger" created="Wed, 6 Dec 2023 23:51:06 +0000"  >&lt;p&gt;It looks like the 53335 patch is working reasonably well.  I see evidence in the testing logs that this patch is working:&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; Lustre: 79053:0:(lov_ea.c:299:lsme_unpack()) lustre-clilov_UUID: OST index 1 more than OST count 1
 Lustre: lustre-clilov_UUID: wait 30s while client connects to new OST
 Lustre: 35469:0:(lov_ea.c:299:lsme_unpack()) lustre-clilov_UUID: OST index 2 more than OST count 2
 Lustre: lustre-clilov_UUID: wait 30s while client connects to new OST 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;There are still some failures of the subtest, but it looks like these are MDT issues and not OST issues, since it looks like they relate to filename lookup (though the &quot;&lt;tt&gt;No such file or directory (2) = -ENOENT&lt;/tt&gt;&quot; error is ambiguous as to whether an OST or MDT object could not be found).&lt;/p&gt;

&lt;p&gt;Using the OSS console log timestamps,  it looks like it is just after MDT0003 was mounted, and while the first OST is finished mounting:&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;MDS2 [ 2488.656376] Lustre: DEBUG MARKER: e2label /dev/mapper/mds4_flakey 				2&amp;gt;/dev/null | grep -E &apos;:[a-zA-Z]{3}[0-9]{4}&apos;
MDS2 [ 2488.990425] Lustre: DEBUG MARKER: sync; sleep 1; sync
MDS2 [ 2490.646167] Lustre: DEBUG MARKER: e2label /dev/mapper/mds4_flakey 2&amp;gt;/dev/null

OSS [ 2493.319919] LDISKFS-fs (dm-11): mounted filesystem with ordered data mode. Opts: errors=remount-ro
OSS [ 2494.373579] LDISKFS-fs (dm-11): mounted filesystem with ordered data mode. Opts: errors=remount-ro,no_mbcache,nodelalloc
OSS [ 2494.931873] Lustre: DEBUG MARKER: e2label /dev/mapper/ost2_flakey 2&amp;gt;/dev/null
OSS [ 2495.391620] Lustre: DEBUG MARKER: /usr/sbin/lctl set_param 				seq.cli-lustre-OST0001-super.width=18724
OSS [ 2495.728824] Lustre: DEBUG MARKER: /usr/sbin/lctl get_param -n health_check

LOG rsync: stat &quot;/mnt/lustre/d46b.conf-sanity/python3.6/site-packages&quot; failed: No such file or directory (2)

OSS [ 2497.208663] Lustre: DEBUG MARKER: /usr/sbin/lctl mark trevis-33vm3.trevis.whamcloud.com: executing set_default_debug -1 all 4
OSS [ 2497.426045] Lustre: DEBUG MARKER: trevis-33vm3.trevis.whamcloud.com: executing set_default_debug -1 all 4
OSS [ 2497.448788] Lustre: DEBUG MARKER: trevis-33vm3.trevis.whamcloud.com: executing set_default_debug -1 all 4
OSS [ 2497.628831] Lustre: DEBUG MARKER: e2label /dev/mapper/ost2_flakey 				2&amp;gt;/dev/null | grep -E &apos;:[a-zA-Z]{3}[0-9]{4}&apos;
OSS [ 2498.028865] Lustre: DEBUG MARKER: sync; sleep 1; sync
OSS [ 2500.674301] Lustre: DEBUG MARKER: e2label /dev/mapper/ost2_flakey 2&amp;gt;/dev/null
LOG Started lustre-OST0001
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="395791" author="adilger" created="Thu, 7 Dec 2023 00:42:32 +0000"  >&lt;p&gt;Lai, could you please make a separate patch for the LMV changes, so that it does not disrupt the LOV patch from testing/landing.&lt;/p&gt;

&lt;p&gt;Please do a &quot;checkout&quot; of Jian&apos;s patch &quot;&lt;tt&gt;git fetch ssh://adilger@review.whamcloud.com:29418/fs/lustre-release refs/changes/35/53335/7 &amp;amp;&amp;amp; git checkout FETCH_HEAD&lt;/tt&gt;&quot; and base your patch on top of it and then rebase the test 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; onto yours, so that it will test both patches together.  It looks like it is sometimes failing in Gerrit Janitor with ENOSPC, but I&apos;m not sure if that is a problem with the test script or some issue with Lustre file/object allocation, because the test &lt;em&gt;should&lt;/em&gt; only be copying 1/2 of the initial OST size.  I&apos;ve reduced this to 1/4 of the OST size to see if that makes a difference.&lt;/p&gt;</comment>
                            <comment id="395838" author="gerrit" created="Thu, 7 Dec 2023 12:45:34 +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/+/53363&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53363&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17334&quot; title=&quot;Client should handle dir/file/object created on newly added MDT/OST&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17334&quot;&gt;LU-17334&lt;/a&gt; lmv: handle object created on newly added MDT&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: b4405f028cb03c3780f30f9efa88ccb33f3ee621&lt;/p&gt;</comment>
                            <comment id="397546" author="gerrit" created="Wed, 20 Dec 2023 01:58: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/+/53335/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53335/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17334&quot; title=&quot;Client should handle dir/file/object created on newly added MDT/OST&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17334&quot;&gt;LU-17334&lt;/a&gt; lov: handle object created on newly added OST&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: f35f897ec8ec0752ea4d4830e72f5193375a474b&lt;/p&gt;</comment>
                            <comment id="401794" author="gerrit" created="Tue, 30 Jan 2024 13:17:40 +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/+/53860&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53860&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17334&quot; title=&quot;Client should handle dir/file/object created on newly added MDT/OST&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17334&quot;&gt;LU-17334&lt;/a&gt; lmv: exclude newly added MDT in mkdir&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 4de7657c74729530485ffa31d7ca179e9dadfe5d&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10324">
                    <name>Cloners</name>
                                            <outwardlinks description="Clones">
                                        <issuelink>
            <issuekey id="79003">LU-17300</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <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|i043r3:</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>