<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:29:11 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-2899] OSTs can&apos;t be used correctly after running sanity test_27y</title>
                <link>https://jira.whamcloud.com/browse/LU-2899</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This problem was found during &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-2871&quot; title=&quot;Data can&amp;#39;t be striped across all the OSTs correctly by running &amp;quot;lfs setstripe -c -1 -i n&amp;quot; (n&amp;gt;0)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-2871&quot;&gt;&lt;del&gt;LU-2871&lt;/del&gt;&lt;/a&gt; auto test &lt;a href=&quot;https://maloo.whamcloud.com/test_sessions/3d87c328-832e-11e2-98f5-52540035b04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maloo.whamcloud.com/test_sessions/3d87c328-832e-11e2-98f5-52540035b04c&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;In that test we have 7 OSTs, but after running sanity test_27y, only 2 OSTs were available.&lt;/p&gt;

&lt;p&gt;This problem is easy to reproduce by adding some scripts in sanity test_27y&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;diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh
index 16a0410..d28a4ee 100644
--- a/lustre/tests/sanity.sh
+++ b/lustre/tests/sanity.sh
@@ -1577,6 +1577,11 @@ test_27x() {
 run_test 27x &lt;span class=&quot;code-quote&quot;&gt;&quot;create files &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; OST0 is degraded&quot;&lt;/span&gt;
 
 test_27y() {
+       local testfile=&lt;span class=&quot;code-quote&quot;&gt;&quot;/mnt/lustre/testfile&quot;&lt;/span&gt;
+       $SETSTRIPE -i 0 -c -1 $testfile
+       $GETSTRIPE $testfile
+       rm -fv $testfile
+
         [ &lt;span class=&quot;code-quote&quot;&gt;&quot;$OSTCOUNT&quot;&lt;/span&gt; -lt &lt;span class=&quot;code-quote&quot;&gt;&quot;2&quot;&lt;/span&gt; ] &amp;amp;&amp;amp; skip_env &lt;span class=&quot;code-quote&quot;&gt;&quot;$OSTCOUNT &amp;lt; 2 OSTs -- skipping&quot;&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt;
         remote_mds_nodsh &amp;amp;&amp;amp; skip &lt;span class=&quot;code-quote&quot;&gt;&quot;remote MDS with nodsh&quot;&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt;
         remote_ost_nodsh &amp;amp;&amp;amp; skip &lt;span class=&quot;code-quote&quot;&gt;&quot;remote OST with nodsh&quot;&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt;
@@ -1638,6 +1643,10 @@ test_27y() {
                        do_facet $SINGLEMDS lctl --device %$OSC activate
                fi
        done
+
+       $SETSTRIPE -i 0 -c -1 $testfile
+       $GETSTRIPE $testfile
+       rm -fv $testfile
 }
 run_test 27y &lt;span class=&quot;code-quote&quot;&gt;&quot;create files &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; OST0 is degraded and the &lt;span class=&quot;code-keyword&quot;&gt;rest&lt;/span&gt; inactive&quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;When OSTCOUNT=4, the output is like&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 27y: create files while OST0 is degraded and the rest inactive == 22:21:07 (1362147667)
/mnt/lustre/testfile
lmm_stripe_count:   4
lmm_stripe_size:    1048576
lmm_layout_gen:     0
lmm_stripe_offset:  0
	obdidx		 objid		 objid		 group
	     0	            12	          0xc	             0
	     1	            66	         0x42	             0
	     2	            65	         0x41	             0
	     3	            65	         0x41	             0

removed `/mnt/lustre/testfile&apos;
lustre-OST0001-osc-MDT0000 is Deactivated:
lustre-OST0002-osc-MDT0000 is Deactivated:
lustre-OST0003-osc-MDT0000 is Deactivated:
lustre-OST0000 is degraded:
total: 4 creates in 0.01 seconds: 459.66 creates/second
lustre-OST0000 is recovered from degraded:
/mnt/lustre/testfile
lmm_stripe_count:   1
lmm_stripe_size:    1048576
lmm_layout_gen:     0
lmm_stripe_offset:  0
	obdidx		 objid		 objid		 group
	     0	            17	         0x11	             0

removed `/mnt/lustre/testfile&apos;
Resetting fail_loc on all nodes...done.
PASS 27y (11s)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="17750">LU-2899</key>
            <summary>OSTs can&apos;t be used correctly after running sanity test_27y</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="bobijam">Zhenyu Xu</assignee>
                                    <reporter username="emoly.liu">Emoly Liu</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Mar 2013 01:35:37 +0000</created>
                <updated>Tue, 12 Mar 2013 01:49:33 +0000</updated>
                            <resolved>Tue, 12 Mar 2013 01:49:33 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="53246" author="bzzz" created="Mon, 4 Mar 2013 01:43:54 +0000"  >&lt;p&gt;are you saying OST000&lt;span class=&quot;error&quot;&gt;&amp;#91;1-3&amp;#93;&lt;/span&gt; are still inactive after 27y ?&lt;/p&gt;</comment>
                            <comment id="53247" author="emoly.liu" created="Mon, 4 Mar 2013 01:56:32 +0000"  >&lt;p&gt;No, at least the command &quot;lfs osts&quot; said no.&lt;/p&gt;

&lt;p&gt;I talked to wangdi and he thought the test script was OK. We need to investigate there is another problem in lod policy. &lt;/p&gt;</comment>
                            <comment id="53254" author="bobijam" created="Mon, 4 Mar 2013 06:46:39 +0000"  >&lt;p&gt;patch tracking at &lt;a href=&quot;http://review.whamcloud.com/5573&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5573&lt;/a&gt;&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;commit message&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;LU-2899 lod: get lod_stripenr correctly

Current code relies on lod_statfs_and_check() to count the number of
activated LOD targets, while lod::lod_stripenr derivation happens
before calling lod_statfs_and_check(), and that makes
lod::lod_stripenr not accurate.

This patch make sure lod_statfs_and_check() called before updating
::lod_stripenr.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="53255" author="bzzz" created="Mon, 4 Mar 2013 07:18:48 +0000"  >&lt;p&gt;in general I&apos;m against this approach. can you explain why statfs() is not enough ?&lt;/p&gt;</comment>
                            <comment id="53256" author="bobijam" created="Mon, 4 Mar 2013 07:53:36 +0000"  >&lt;p&gt;first, lod_qos_statfs_update() will skip when last statfs check is close enough.&lt;/p&gt;

&lt;p&gt;second, before load_alloc_xx() is called, the available total possible stripe number has been determined with lod_get_stripecnt(), which happens before any lod_statfs_and_check() is called.&lt;/p&gt;</comment>
                            <comment id="53257" author="bzzz" created="Mon, 4 Mar 2013 08:03:21 +0000"  >&lt;p&gt;lod_statfs_and_check() is called to probe every OSP, so I don&apos;t quite follow the first argument.&lt;/p&gt;</comment>
                            <comment id="53258" author="bobijam" created="Mon, 4 Mar 2013 08:16:20 +0000"  >&lt;p&gt;sorry, you are right, the first argument does not stand valid. I need change commit message.&lt;/p&gt;</comment>
                            <comment id="53259" author="bobijam" created="Mon, 4 Mar 2013 08:20:44 +0000"  >&lt;p&gt;maybe I just need only change lod_get_stripecnt() to ignore lod-&amp;gt;lod_desc.ld_active_tgt_count?&lt;/p&gt;</comment>
                            <comment id="53260" author="bzzz" created="Mon, 4 Mar 2013 08:21:46 +0000"  >&lt;p&gt;this is not about the commit message.. I&apos;m still not convinced this is the right solution. please clarify on the second argument: lod_alloc_xxx() is called when all OSTs are marked active (I think), so subsequent lod_statfs_and_check() should be able to use them ?&lt;/p&gt;</comment>
                            <comment id="53261" author="bzzz" created="Mon, 4 Mar 2013 08:26:17 +0000"  >&lt;p&gt;ah, I see what you mean. so we get stripes, but later discover new number of active OSTs.&lt;/p&gt;</comment>
                            <comment id="53722" author="adilger" created="Mon, 11 Mar 2013 15:07:16 +0000"  >&lt;p&gt;Alex, can you please confirm that the current version of &lt;a href=&quot;http://review.whamcloud.com/5573&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5573&lt;/a&gt; is fine, and your earlier comments that you don&apos;t like the solution is outdated?&lt;/p&gt;</comment>
                            <comment id="53723" author="bzzz" created="Mon, 11 Mar 2013 15:11:35 +0000"  >&lt;p&gt;Andreas, I&apos;ve already inspected the patch with +&lt;/p&gt;</comment>
                            <comment id="53734" author="jlevi" created="Mon, 11 Mar 2013 19:35:54 +0000"  >&lt;p&gt;After discussing with Sarah, this is not blocking her testing and does not need to be tracked as a blocker. Reducing priority.&lt;/p&gt;</comment>
                            <comment id="53765" author="pjones" created="Tue, 12 Mar 2013 01:49:33 +0000"  >&lt;p&gt;Landed for 2.4&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|hzvk4n:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6986</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>