<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:27:55 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-2754] rename from MDT1 to MDT0 sometimes appears to succeed but does not</title>
                <link>https://jira.whamcloud.com/browse/LU-2754</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Here sys_rename is a trivial program that just calls rename(argv&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;, argv&lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;) and check for error.&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;# export MDSCOUNT=2
# llmount.sh
# cd /mnt/lustre
# find .
.
./.lustre
# lfs mkdir -i 1 m1
# echo 0 &amp;gt; f0
# echo 1 &amp;gt; m1/f1
# find .
.
./f0
./m1
./m1/f1
./.lustre
# sys_rename m1/f1 f0
# find .
.
./f0
./m1
./.lustre
# cat f0
0
# rm f0
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;In the same situation I can get a simple rename or rename-onto an existing directory on MDT0 to return succeess but lose the old dir.&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;# find .
.
./m1
./.lustre
# mkdir d0
# mkdir m1/d1
# touch m1/d1/f1
# find .
.
./d0
./m1
./m1/d1
./m1/d1/f1
./.lustre
# sys_rename m1/d1 d0
# find .
.
./d0
./m1
./.lustre
#
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Rename onto may require several attempts:&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;# mkdir d0
# mkdir m1/d1
# touch m1/d1/f0
# find .
.
./d0
./m1
./m1/d1
./m1/d1/f0
./.lustre
# sys_rename m1/d1 d0
cannot rename `m1/d1&apos; to `d0&apos;: Directory not empty
# sys_rename m1/d1 d0
cannot rename `m1/d1&apos; to `d0&apos;: Directory not empty
# mkdir d2
#
# sys_rename m1/d1 d2
cannot rename `m1/d1&apos; to `d2&apos;: Directory not empty
# sys_rename m1/d1 d2
cannot rename `m1/d1&apos; to `d2&apos;: Directory not empty
# find .
.
./d0
./d2
./m1
./m1/d1
./m1/d1/f0
./.lustre
# mkdir d3
# sys_rename m1/d1 d3
# find .
.
./d0
./d2
./m1
./d3
./.lustre
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>2.3.60-50-g75ae281</environment>
        <key id="17452">LU-2754</key>
            <summary>rename from MDT1 to MDT0 sometimes appears to succeed but does not</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="13445">LU-1187</parent>
                                    <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="di.wang">Di Wang</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>LB</label>
                            <label>dne</label>
                    </labels>
                <created>Tue, 5 Feb 2013 17:44:24 +0000</created>
                <updated>Tue, 23 Apr 2013 16:51:16 +0000</updated>
                            <resolved>Tue, 12 Feb 2013 22:03:49 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="51828" author="di.wang" created="Tue, 5 Feb 2013 18:36:46 +0000"  >&lt;p&gt;This needs &lt;a href=&quot;http://review.whamcloud.com/#change,5257&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,5257&lt;/a&gt; as well.&lt;/p&gt;</comment>
                            <comment id="51847" author="adilger" created="Wed, 6 Feb 2013 00:20:38 +0000"  >&lt;p&gt;John, note that by design, DNE Phase 1 does not support cross-MDT renames.  It is supposed to return -EXDEV in this case and expects &quot;mv&quot; and similar tools to handle this by copying the file instead of doing a simple rename.&lt;/p&gt;

&lt;p&gt;That said, it definitely needs to be handled correctly even at the low level, and it looks like you&apos;ve found a problem here.&lt;/p&gt;</comment>
                            <comment id="51851" author="jhammond" created="Wed, 6 Feb 2013 01:18:56 +0000"  >&lt;p&gt;Indeed, I should have chosen a better title. Otherwise valid renames from MDT0 to MDT1 all returned -EXDEV as expected. But I never got -EXDEV renaming from MDT1 to MDT0.&lt;/p&gt;</comment>
                            <comment id="52001" author="jhammond" created="Thu, 7 Feb 2013 17:55:24 +0000"  >&lt;p&gt;Would someone please explain what is the use case of &apos;lfs rm_entry&apos;? I can&apos;t seem to find any mention of it in the DNE design documents I&apos;ve found?&lt;/p&gt;</comment>
                            <comment id="52007" author="di.wang" created="Thu, 7 Feb 2013 19:12:08 +0000"  >&lt;p&gt;lfs rm_entry is used to only deleting name_entry of the remote directory, i.e. the remote directory will become orphan. Usually this will be used to delete the name entry of remote directory, when some MDT is failed and can not go back, i.e. the administrator will use this command to delete the dangling name entry.&lt;/p&gt;</comment>
                            <comment id="52008" author="di.wang" created="Thu, 7 Feb 2013 19:15:06 +0000"  >&lt;p&gt;Btw: I tried this with 5257. It seems the result is correct now.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@testnode tests&amp;#93;&lt;/span&gt;# ../utils/lfs getstripe -M /mnt/lustre/test1/f2&lt;br/&gt;
1&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@testnode tests&amp;#93;&lt;/span&gt;# ../utils/lfs getstripe -M /mnt/lustre/f3&lt;br/&gt;
0&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@testnode tests&amp;#93;&lt;/span&gt;# ../utils/lfs getstripe -M /mnt/lustre/test1/f2&lt;br/&gt;
1&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@testnode tests&amp;#93;&lt;/span&gt;# ./multiop /mnt/lustre/f3 N /mnt/lustre/test1/f2&lt;br/&gt;
rename(): Invalid cross-device link&lt;/p&gt;

&lt;p&gt;I will add more test for this. Thanks.&lt;/p&gt;
</comment>
                            <comment id="52086" author="jhammond" created="Fri, 8 Feb 2013 22:23:53 +0000"  >&lt;p&gt;Thanks for the clarification. Can you also explain whey we have &apos;lfs mkdir&apos; and &apos;lfs setdirstripe&apos;? They seem to be the same thing. Is there a plan for their semantics to diverge at some point? &lt;/p&gt;</comment>
                            <comment id="52093" author="adilger" created="Sat, 9 Feb 2013 12:37:37 +0000"  >&lt;p&gt;I think &quot;lfs mkdir&quot; and &quot;lfs setdirstripe&quot; are aliases?  I&apos;m not sure i know what the distinction is myself. &lt;/p&gt;</comment>
                            <comment id="52095" author="di.wang" created="Sat, 9 Feb 2013 19:04:17 +0000"  >&lt;p&gt;yes, lfs mkdir is the alias of &quot;lfs setdirstripe -i&quot; in phase I. Currently lfs setdirstripe only support -i now, and in DNE phase II, lfs setstripe will support stripe_count and pool as well.&lt;/p&gt;</comment>
                            <comment id="52247" author="jhammond" created="Tue, 12 Feb 2013 22:03:49 +0000"  >&lt;p&gt;Fixed by Di&apos;s #5257.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="16442">LU-2240</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="17482">LU-2773</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="17453">LU-2755</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|hzvim7:</customfieldvalue>

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