<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:26:36 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-9484] sanity test 17k fails with &apos;rsync failed with xattrs enabled&apos; </title>
                <link>https://jira.whamcloud.com/browse/LU-9484</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;sanity test_17k fails when a default composite layout is set for the Lustre mount point with&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;sanity test_17k: @@@@@@ FAIL: rsync failed with xattrs enabled
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;From the test log, we can see lsetxattr() in rsync is failing&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;== sanity test 17k: symlinks: rsync with xattrs enabled ============================================== 03:57:01 (1494388621)
striped dir -i1 -c2 /mnt/lustre/d17k.sanity
striped dir -i1 -c2 /mnt/lustre/d17k.sanity.new
sending incremental file list
./
f17k.sanity
f17k.sanity.lnk -&amp;gt; /mnt/lustre/d17k.sanity/f17k.sanity
rsync: rsync_xal_set: lsetxattr(&quot;&quot;/mnt/lustre/d17k.sanity.new/.f17k.sanity.qR0FHg&quot;&quot;,&quot;lustre.lov&quot;) failed: File exists (17)
rsync: rsync_xal_set: lsetxattr(&quot;&quot;/mnt/lustre/d17k.sanity.new/.f17k.sanity.qR0FHg&quot;&quot;,&quot;trusted.lov&quot;) failed: File exists (17)

sent 1628 bytes  received 48 bytes  1117.33 bytes/sec
total size is 35  speedup is 0.02
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1052) [sender=3.0.9]
 sanity test_17k: @@@@@@ FAIL: rsync failed with xattrs enabled
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Logs for recent failures are at:&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/f5d085aa-357c-11e7-b0a8-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/f5d085aa-357c-11e7-b0a8-5254006e85c2&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/2e962ed8-3534-11e7-814a-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/2e962ed8-3534-11e7-814a-5254006e85c2&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="46007">LU-9484</key>
            <summary>sanity test 17k fails with &apos;rsync failed with xattrs enabled&apos; </summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="45517">LU-9349</parent>
                                    <priority id="2" iconUrl="https://jira.whamcloud.com/images/icons/priorities/critical.svg">Critical</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="bobijam">Zhenyu Xu</assignee>
                                    <reporter username="jamesanunez">James Nunez</reporter>
                        <labels>
                            <label>pfl</label>
                    </labels>
                <created>Wed, 10 May 2017 15:07:27 +0000</created>
                <updated>Mon, 9 Oct 2017 22:15:46 +0000</updated>
                            <resolved>Sat, 10 Jun 2017 12:40:27 +0000</resolved>
                                    <version>Lustre 2.10.0</version>
                    <version>Lustre 2.11.0</version>
                                    <fixVersion>Lustre 2.10.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="195471" author="jgmitter" created="Thu, 11 May 2017 14:24:17 +0000"  >&lt;p&gt;Hi Bobijam,&lt;/p&gt;

&lt;p&gt;Can you add your thoughts here that we discussed 1:1 today?&lt;/p&gt;

&lt;p&gt;Thanks.&lt;br/&gt;
Joe&lt;/p&gt;</comment>
                            <comment id="195645" author="bobijam" created="Fri, 12 May 2017 11:35:27 +0000"  >&lt;p&gt;Hi Andreas,&lt;/p&gt;

&lt;p&gt;I uploaded two strace output of the rsync command, the difference is that for plain.txt, /mnt/lustre/d17k.sanity/f17k.sanity is created as a plain file, while pfl.txt corresponding to a PFL file.&lt;/p&gt;

&lt;p&gt;The difference of the strace shows that with PFL file, rsync tries to lsetxattr a temporary file, while lsetxattr does not show up for the plain file.&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;rsync FPL file&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;read(5, &quot;rsync: rsync_xal_set: lsetxattr(&quot;..., 93) = 93
write(2, &quot;rsync: rsync_xal_set: lsetxattr(&quot;..., 92rsync: rsync_xal_set:
lsetxattr(&quot;.f17k.sanity.6HKfyd&quot;,&quot;lustre.lov&quot;) failed: File exists (17)) = 92
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I don&apos;t know what causes it, could it be that the xattr of PFL is too big that cause rsync tries to use a temporary file? I could not find where I can get the rsync code to have a look.&lt;/p&gt;</comment>
                            <comment id="195964" author="adilger" created="Tue, 16 May 2017 10:05:02 +0000"  >&lt;p&gt;The temporary file is always being used by rsync, so I don&apos;t think that is different.  The main issue is that the strace needs to be run with &quot;-f&quot; to trace all the threads across fork, since it looks like the logs are incomplete (they don&apos;t show any file creates, etc)?  The &quot;&lt;tt&gt;lsetxattr()&lt;/tt&gt;&quot; that shows up in the &quot;pfl&quot; log is only from when it is calling &lt;tt&gt;write()&lt;/tt&gt; to print the message to the console, not the actual syscall to &lt;tt&gt;lsetxattr()&lt;/tt&gt;.  I think both logs are missing the actual operations to the target files.&lt;/p&gt;

&lt;p&gt;That said, setting &lt;tt&gt;trusted.lov&lt;/tt&gt; and &lt;tt&gt;lustre.lov&lt;/tt&gt; should be accepted from userspace even if they already exist, since they will normally be created when the file is first opened, and then will also be &quot;restored&quot; by rsync (or tar or cp) after the file is written (see comments in &lt;tt&gt;ll_setstripe_ea_info()&lt;/tt&gt;:&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;                /**
                 * b=10667: ignore error.
                 * Silently eat error on setting strusted.lov attribute &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;
                 * SuSE 9, it added &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; option to copy all attributes in
                 * &lt;span class=&quot;code-quote&quot;&gt;&apos;cp&apos;&lt;/span&gt; command.
                 */

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I also see in that function:&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;if&lt;/span&gt; (lump != NULL &amp;amp;&amp;amp; lump-&amp;gt;lmm_magic == LOV_USER_MAGIC_COMP_V1) {
                return_err = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
                &lt;span class=&quot;code-keyword&quot;&gt;goto&lt;/span&gt; setstripe;
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;so this is what is causing PFL to fail in the rsync case and not the plain file case.  Is there a reason that the PFL code needs to return an error in this case?  This came from &lt;a href=&quot;https://review.whamcloud.com/24851&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/24851&lt;/a&gt; so you may want to look at the commit history of the master or pfl branches versions of this patch to see why &lt;tt&gt;setxattr(&quot;trusted.lov&quot;)&lt;/tt&gt; needs to return an error to userspace.  &lt;/p&gt;</comment>
                            <comment id="195965" author="adilger" created="Tue, 16 May 2017 10:12:20 +0000"  >&lt;p&gt;PS: I think this is pretty critical, since it will totally break rsync, cp, tar, or anything that is trying to restore the &lt;tt&gt;lustre.lov&lt;/tt&gt; or &lt;tt&gt;trusted.lov&lt;/tt&gt; xattrs.&lt;/p&gt;</comment>
                            <comment id="195972" author="gerrit" created="Tue, 16 May 2017 12:41:53 +0000"  >&lt;p&gt;Bobi Jam (bobijam@hotmail.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/27126&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/27126&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9484&quot; title=&quot;sanity test 17k fails with &amp;#39;rsync failed with xattrs enabled&amp;#39; &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9484&quot;&gt;&lt;del&gt;LU-9484&lt;/del&gt;&lt;/a&gt; llite: eat error on setting trunsted.lov&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: bd9956f9190c1b0aca37c47802e44a3c82eba9a6&lt;/p&gt;</comment>
                            <comment id="195973" author="bobijam" created="Tue, 16 May 2017 12:43:35 +0000"  >&lt;p&gt;Yes, you are right, strace -f shows that in all cases, rsync creates temporary file.&lt;/p&gt;</comment>
                            <comment id="197193" author="gerrit" created="Fri, 26 May 2017 18:58:09 +0000"  >&lt;p&gt;Andreas Dilger (andreas.dilger@intel.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/27311&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/27311&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9484&quot; title=&quot;sanity test 17k fails with &amp;#39;rsync failed with xattrs enabled&amp;#39; &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9484&quot;&gt;&lt;del&gt;LU-9484&lt;/del&gt;&lt;/a&gt; llite: eat -EEXIST on setting trusted.lov&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: pfl&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 44bbbfed3513798638e01f1ae2447faf80f7c15e&lt;/p&gt;</comment>
                            <comment id="198804" author="gerrit" created="Sat, 10 Jun 2017 02:48:40 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/27126/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/27126/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9484&quot; title=&quot;sanity test 17k fails with &amp;#39;rsync failed with xattrs enabled&amp;#39; &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9484&quot;&gt;&lt;del&gt;LU-9484&lt;/del&gt;&lt;/a&gt; llite: eat -EEXIST on setting trunsted.lov&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 0e90e02ceddd60f24fac9709f3ab9e9421c80315&lt;/p&gt;</comment>
                            <comment id="198820" author="simmonsja" created="Sat, 10 Jun 2017 06:54:55 +0000"  >&lt;p&gt;I see this landed already. I was testing this with my &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9183&quot; title=&quot;Support for linux 4.9 kernels&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9183&quot;&gt;&lt;del&gt;LU-9183&lt;/del&gt;&lt;/a&gt; xattr patch and I was seeing sanity 102a and 102n both failing. I thought it was due to my latest &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9183&quot; title=&quot;Support for linux 4.9 kernels&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9183&quot;&gt;&lt;del&gt;LU-9183&lt;/del&gt;&lt;/a&gt; but I traced it down to this patch. I&apos;m looking to see what the fix will be and I place the fix in patch &lt;a href=&quot;https://review.whamcloud.com/#/c/27240&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/27240&lt;/a&gt;. Strange it passed testing in maloo.&lt;/p&gt;</comment>
                            <comment id="198822" author="pjones" created="Sat, 10 Jun 2017 12:40:27 +0000"  >&lt;p&gt;Landed for 2.10&lt;/p&gt;</comment>
                            <comment id="198834" author="simmonsja" created="Sat, 10 Jun 2017 15:50:43 +0000"  >&lt;p&gt;Never mind. I see the sanity.sh test were updated and my test suite was missing those changes. It does work.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="45478">LU-9335</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="26671" name="pfl.txt" size="19872" author="bobijam" created="Fri, 12 May 2017 11:29:12 +0000"/>
                            <attachment id="26672" name="plain.txt" size="11129" author="bobijam" created="Fri, 12 May 2017 11:29:10 +0000"/>
                    </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|hzzcd3:</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>