<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:05:43 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-7069] Interop 2.5.3&lt;-&gt;master DNE: sanity test_65a/test_65e failed: FAIL: lverify failed</title>
                <link>https://jira.whamcloud.com/browse/LU-7069</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;sanity test_65a and test_65e failed as follow:&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 65a: directory with no stripe info ====================== 19:57:23 (1441076243)
Lustre: DEBUG MARKER: == sanity test 65a: directory with no stripe info ====================== 19:57:23 (1441076243)
mkdir 1 for /mnt/lustre/d65a.sanity
file1 stripe count 4 != dir 1

default stripe 1, ost count 4
 sanity test_65a: @@@@@@ FAIL: lverify failed 
Lustre: DEBUG MARKER: sanity test_65a: @@@@@@ FAIL: lverify failed
  Trace dump:
  = /usr/lib64/lustre/tests/test-framework.sh:4343:error_noexit()
  = /usr/lib64/lustre/tests/test-framework.sh:4374:error()
  = sanity.sh:4955:test_65a()
  = /usr/lib64/lustre/tests/test-framework.sh:4613:run_one()
  = /usr/lib64/lustre/tests/test-framework.sh:4648:run_one_logged()
  = /usr/lib64/lustre/tests/test-framework.sh:4516:run_test()
  = sanity.sh:4957:main()
Dumping lctl log to /home/w3liu/toro_home/test_logs/sanity.test_65a.*.1441076244.log
FAIL 65a (8s)

== sanity test 65e: directory setstripe defaults ========================= 19:57:36 (1441076256)
Lustre: DEBUG MARKER: == sanity test 65e: directory setstripe defaults ========================= 19:57:36 (1441076256)
mkdir 1 for /mnt/lustre/d65e.sanity
(Default) /mnt/lustre/d65e.sanity
file1 stripe count 4 != dir 1

default stripe 1, ost count 4
 sanity test_65e: @@@@@@ FAIL: lverify failed 
Lustre: DEBUG MARKER: sanity test_65e: @@@@@@ FAIL: lverify failed
  Trace dump:
  = /usr/lib64/lustre/tests/test-framework.sh:4343:error_noexit()
  = /usr/lib64/lustre/tests/test-framework.sh:4374:error()
  = sanity.sh:5007:test_65e()
  = /usr/lib64/lustre/tests/test-framework.sh:4613:run_one()
  = /usr/lib64/lustre/tests/test-framework.sh:4648:run_one_logged()
  = /usr/lib64/lustre/tests/test-framework.sh:4516:run_test()
  = sanity.sh:5009:main()
Dumping lctl log to /home/w3liu/toro_home/test_logs/sanity.test_65e.*.1441076257.log
FAIL 65e (2s)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>client: 2.5.3&lt;br/&gt;
server: lustre-master build #3142 RHEL6.6 DNE</environment>
        <key id="31824">LU-7069</key>
            <summary>Interop 2.5.3&lt;-&gt;master DNE: sanity test_65a/test_65e failed: FAIL: lverify failed</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="sarah">Sarah Liu</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 Sep 2015 03:08:54 +0000</created>
                <updated>Sat, 3 Feb 2018 10:17:28 +0000</updated>
                                            <version>Lustre 2.8.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="125894" author="adilger" created="Tue, 1 Sep 2015 18:00:00 +0000"  >&lt;p&gt;Is this just a case where the test needs to be skipped because the client doesn&apos;t handle striped directories?&lt;/p&gt;</comment>
                            <comment id="125916" author="di.wang" created="Tue, 1 Sep 2015 18:24:21 +0000"  >&lt;p&gt;It is 2.5.3 client, so it should create a remote directory, instead of striped directory.&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 1 for /mnt/lustre/d65a.sanity
file1 stripe count 4 != dir 1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Hmm, the file1 stripe count = 4, but d65a.sanity has no default stripeEA. Hmm, maybe it use global default stripeEA to create the file? And also it seems the test script itself also has such problem, i.e. when there are non defaultEA on dir, it still compares file stripe with dir default stripeEA, maybe it should compare file stripes with default global stripe.  And clearly if we set global default stripe as 2, test_65a will also file.   So maybe we only need fix the test script on 65a and 65e. &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;[root@testnode tests]# cat /proc/fs/lustre/lov/lustre-MDT0000-mdtlov/stripecount 
1
[root@testnode tests]# cat /proc/fs/lustre/lov/lustre-MDT000^C
[root@testnode tests]# echo 2 &amp;gt; /proc/fs/lustre/lov/lustre-MDT0000-mdtlov/stripecount 
[root@testnode tests]# cat /proc/fs/lustre/lov/lustre-MDT0000-mdtlov/stripecount 
2
[root@testnode tests]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vg_testnode-lv_root
                      27228028  13741748  12096508  54% /
tmpfs                  4006664         0   4006664   0% /dev/shm
/dev/sda1               487652     62375    399677  14% /boot
192.168.1.31:/Users/wangdi/work
                     243358976 195038592  48064384  81% /work
/dev/loop0              283512      2204    261396   1% /mnt/mds1
/dev/loop1              771012     17572    711920   3% /mnt/ost1
/dev/loop2              771012     17572    711920   3% /mnt/ost2
testnode@tcp:/lustre   1542024     35144   1423840   3% /mnt/lustre
[root@testnode tests]# ONLY=65a sh sanity.sh
Logging to shared log directory: /tmp/test_logs/1440995597
testnode: Checking config lustre mounted on /mnt/lustre
Checking servers environments
Checking clients testnode environments
Using TIMEOUT=20
disable quota as required
osd-ldiskfs.track_declares_assert=1
running as uid/gid/euid/egid 500/500/500/500, groups:
 [touch] [/mnt/lustre/d0_runas_test/f5317]
excepting tests: 76 42a 42b 42c 42d 45 51d 68b
skipping tests SLOW=no: 24o 24D 27m 64b 68 71 77f 78 115 124b
preparing for tests involving mounts
mke2fs 1.42.12.wc1 (15-Sep-2014)

debug=-1


== sanity test 65a: directory with no stripe info ====================== 21:33:17 (1440995597)
file1 stripe count 2 != dir 1

default stripe 1, ost count 2
 sanity test_65a: @@@@@@ FAIL: lverify failed 
  Trace dump:
  = /work/lustre-release_new/lustre/tests/test-framework.sh:4748:error_noexit()
  = /work/lustre-release_new/lustre/tests/test-framework.sh:4779:error()
  = sanity.sh:5274:test_65a()
  = /work/lustre-release_new/lustre/tests/test-framework.sh:5026:run_one()
  = /work/lustre-release_new/lustre/tests/test-framework.sh:5063:run_one_logged()
  = /work/lustre-release_new/lustre/tests/test-framework.sh:4880:run_test()
  = sanity.sh:5276:main()
Dumping lctl log to /tmp/test_logs/1440995597/sanity.test_65a.*.1440995598.log
Dumping logs only on local client.
FAIL 65a (1s)

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


</comment>
                            <comment id="219308" author="adilger" created="Fri, 26 Jan 2018 23:13:24 +0000"  >&lt;p&gt;I think &lt;tt&gt;ll_dirstripe_verify&lt;/tt&gt; needs to be updated to read the default &lt;tt&gt;stripe_count&lt;/tt&gt; and &lt;tt&gt;stripe_size&lt;/tt&gt; from the $MOUNT directory rather than from &lt;tt&gt;/proc/fs/lustre/lov/&amp;#42;/stripecount&lt;/tt&gt; and &lt;tt&gt;.../stripesize&lt;/tt&gt;.  That will allow these tests to pass when the root directory has a different layout than what is stored by default in &lt;tt&gt;/proc&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="219924" author="yujian" created="Sat, 3 Feb 2018 05:36:13 +0000"  >&lt;p&gt;Hi Andreas,&lt;br/&gt;
If the root directory has a composite layout and different components have different stripe options, which ones need to be used to compare with?&lt;/p&gt;</comment>
                            <comment id="219925" author="adilger" created="Sat, 3 Feb 2018 10:17:28 +0000"  >&lt;p&gt;If the root directory &lt;b&gt;does not&lt;/b&gt; have a composite layout, then &quot;&lt;tt&gt;lfs getstripe -c&lt;/tt&gt;&quot; and &quot;&lt;tt&gt;lfs getstripe -S&lt;/tt&gt;&quot; will return either the values from the root directory, or if there is none then the global defaults will be returned.  That is the behaviour that we want for &lt;tt&gt;ll_dirstripe_verify&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;If the root directory &lt;b&gt;has&lt;/b&gt; a composite layout, then the composite layout should be used for new file creation.  This is much more complex, however, since the file&apos;s &quot;stripe count&quot; is a function of the file size, while the default layout on the root will always have &quot;size == 0&quot;.  However, it also looks like these tests only use &quot;touch&quot; to create the file, so that should be OK.&lt;/p&gt;

&lt;p&gt;I gave this a quick test, and I &lt;em&gt;thought&lt;/em&gt; that &quot;&lt;tt&gt;lfs getstripe -&lt;span class=&quot;error&quot;&gt;&amp;#91;cS&amp;#93;&lt;/span&gt;&lt;/tt&gt;&quot; on a composite file would return the value on the &lt;b&gt;last ,initialized&lt;/b&gt; component, but it seems to be taking it from the &lt;b&gt;last&lt;/b&gt; component, which will make this more complex to handle.&lt;/p&gt;

&lt;p&gt;I&apos;m not against fixing the composite layout problem also, but as a starting point it would be good to fix the problem with the existing plain layout, and we can work on fixing composite layouts next.&lt;/p&gt;

&lt;p&gt;Another option would be to get rid of &lt;tt&gt;ll_dirstripe_verify&lt;/tt&gt; completely, and use the &quot;&lt;tt&gt;--yaml&lt;/tt&gt;&quot; option to dump the layout in a more-parsable format, and use that to compare the layouts (after removing the file-unique parts like FIDs, etc).&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|hzxlwn:</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>