<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:39:53 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-10978] lustre-rsync-test test 1A cannot replicate a hard link because file exists</title>
                <link>https://jira.whamcloud.com/browse/LU-10978</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In lustre-rsync-test test_1A, we do some file system operations including creating a hard link, call lustre_rsync, do more operations and call lustre_rsync again using the log (-l option) from the first call to lustre_rsync. On the second lustre_rsync, we can see in the client test_log that we get an 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;Replication #2
Replication of operation failed(-1): 25 HLINK (3) [0x200012ce9:0x1c:0x0] [0x200012ce9:0x12:0x0] link2
Lustre filesystem: lustre
MDT device: lustre-MDT0000
Source: /mnt/lustre
Target: /tmp/target
Target: /tmp/target2
Statuslog: /tmp/lustre_rsync.log
Changelog registration: cl1
Starting changelog record: 0
Clear changelog after use: no
Errors: 1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In the debug log, we see that there is no issue with replicating the hard link the first time we call lustre_rsync:&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;***** Start 25 HLINK (3) [0x200012ce9:0x1c:0x0] [0x200012ce9:0x12:0x0] link2 *****
	parent fid2path d1A.lustre-rsync-test/d1, link2, rc=0
link destination is /tmp/target/d1A.lustre-rsync-test/d1/link2
	fid2path d1A.lustre-rsync-test/d1/link1, link2, 0 rc=0
link source is /tmp/target/d1A.lustre-rsync-test/d1/link1
link: /tmp/target/d1A.lustre-rsync-test/d1/link1 [to] /tmp/target/d1A.lustre-rsync-test/d1/link2; rc1=0 Success
	parent fid2path d1A.lustre-rsync-test/d1, link2, rc=0
link destination is /tmp/target2/d1A.lustre-rsync-test/d1/link2
	fid2path d1A.lustre-rsync-test/d1/link1, link2, 0 rc=0
link source is /tmp/target2/d1A.lustre-rsync-test/d1/link1
link: /tmp/target2/d1A.lustre-rsync-test/d1/link1 [to] /tmp/target2/d1A.lustre-rsync-test/d1/link2; rc1=0 Success
##### End 25 HLINK (3) [0x200012ce9:0x1c:0x0] [0x200012ce9:0x12:0x0] link2 rc=0 #####
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We get a failure on the second call to lustre_rsync&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;***** Start 25 HLINK (3) [0x200012ce9:0x1c:0x0] [0x200012ce9:0x12:0x0] link2 *****
	parent fid2path d1A.lustre-rsync-test/d1, link2, rc=0
link destination is /tmp/target/d1A.lustre-rsync-test/d1/link2
	fid2path d1A.lustre-rsync-test/d1/link1, link2, 0 rc=0
link source is /tmp/target/d1A.lustre-rsync-test/d1/link1
link: /tmp/target/d1A.lustre-rsync-test/d1/link1 [to] /tmp/target/d1A.lustre-rsync-test/d1/link2; rc1=-1 File exists
	parent fid2path d1A.lustre-rsync-test/d1, link2, rc=0
link destination is /tmp/target2/d1A.lustre-rsync-test/d1/link2
	fid2path d1A.lustre-rsync-test/d1/link1, link2, 0 rc=0
link source is /tmp/target2/d1A.lustre-rsync-test/d1/link1
link: /tmp/target2/d1A.lustre-rsync-test/d1/link1 [to] /tmp/target2/d1A.lustre-rsync-test/d1/link2; rc1=-1 File exists
##### End 25 HLINK (3) [0x200012ce9:0x1c:0x0] [0x200012ce9:0x12:0x0] link2 rc=-1 #####
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It is true that the file exists. &lt;/p&gt;

&lt;p&gt;Unfortunately, we don&#8217;t check the &#8220;Errors&#8221; line from the output of lustre_rsync. So, test 1A does not fail. &lt;/p&gt;

&lt;p&gt;Here is a link to a test session where we get errors on the second replication&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/d4f17fde-4d03-11e8-b45c-52540065bddc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/d4f17fde-4d03-11e8-b45c-52540065bddc&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="52060">LU-10978</key>
            <summary>lustre-rsync-test test 1A cannot replicate a hard link because file exists</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="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="jhammond">John Hammond</assignee>
                                    <reporter username="jamesanunez">James Nunez</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 May 2018 14:35:49 +0000</created>
                <updated>Tue, 18 Dec 2018 23:59:54 +0000</updated>
                            <resolved>Thu, 17 May 2018 03:11:04 +0000</resolved>
                                    <version>Lustre 2.11.0</version>
                    <version>Lustre 2.12.0</version>
                                    <fixVersion>Lustre 2.12.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="226996" author="jhammond" created="Tue, 1 May 2018 16:01:36 +0000"  >&lt;p&gt;It looks like this is due to a bug that goes back to when lustre_rsync was first written.&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-object&quot;&gt;int&lt;/span&gt; lr_replicate()
...
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (debug) {
                        bzero(info, sizeof(struct lr_info));
	                bzero(ext, sizeof(struct lr_info));
                }
        }

        llapi_changelog_fini(&amp;amp;changelog_priv);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (errors || verbose)
                printf(&lt;span class=&quot;code-quote&quot;&gt;&quot;Errors: %d\n&quot;&lt;/span&gt;, errors);

        &lt;span class=&quot;code-comment&quot;&gt;/* Clear changelog records used so far */&lt;/span&gt;
        lr_clear_cl(info, 1);
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;If debugging is set then we zero-out info which prevents us from clearing the changelog properly on exit.&lt;/p&gt;</comment>
                            <comment id="227104" author="gerrit" created="Wed, 2 May 2018 14:34:17 +0000"  >&lt;p&gt;John L. Hammond (john.hammond@intel.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/32246&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32246&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10978&quot; title=&quot;lustre-rsync-test test 1A cannot replicate a hard link because file exists&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10978&quot;&gt;&lt;del&gt;LU-10978&lt;/del&gt;&lt;/a&gt; utils: preserve lustre_rsync state&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 16c6185336aa6b08f877d9e095b540b89b146435&lt;/p&gt;</comment>
                            <comment id="228060" author="gerrit" created="Thu, 17 May 2018 02:31:32 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/32246/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32246/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10978&quot; title=&quot;lustre-rsync-test test 1A cannot replicate a hard link because file exists&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10978&quot;&gt;&lt;del&gt;LU-10978&lt;/del&gt;&lt;/a&gt; utils: preserve lustre_rsync state&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 75c0f9c701a7a5f1e9caeee1a6cd7164e6635dfb&lt;/p&gt;</comment>
                            <comment id="228069" author="pjones" created="Thu, 17 May 2018 03:11:04 +0000"  >&lt;p&gt;Landed for 2.12&lt;/p&gt;</comment>
                    </comments>
                    <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|hzzwlz:</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>