<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:12:24 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-986] Possible Race Condition</title>
                <link>https://jira.whamcloud.com/browse/LU-986</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;I believe that I have found a possible race condition.&lt;/p&gt;

&lt;p&gt;I have an OSS with four OSTs.  If I mount them one at a time, then they always mount just fine.  That is, the following always works:&lt;/p&gt;

&lt;p&gt;mount -t lustre /dev/mapper/map00 /mnt/ost00 &lt;br/&gt;
mount -t lustre /dev/mapper/map01 /mnt/ost01 &lt;br/&gt;
mount -t lustre /dev/mapper/map02 /mnt/ost02 &lt;br/&gt;
mount -t lustre /dev/mapper/map03 /mnt/ost03 &lt;/p&gt;

&lt;p&gt;If I mount them all at the same time, like the following, then it sometimes fails.&lt;/p&gt;

&lt;p&gt;mount -t lustre /dev/mapper/map00 /mnt/ost00 &amp;amp;&lt;br/&gt;
mount -t lustre /dev/mapper/map01 /mnt/ost01 &amp;amp;&lt;br/&gt;
mount -t lustre /dev/mapper/map02 /mnt/ost02 &amp;amp;&lt;br/&gt;
mount -t lustre /dev/mapper/map03 /mnt/ost03 &amp;amp;&lt;/p&gt;

&lt;p&gt;The failures are because some modules do not load successfully.  I get errors such as:&lt;/p&gt;

&lt;p&gt;   kernel: lov: gave up waiting for init of module osc.&lt;br/&gt;
   kernel: lov: Unknown symbol osc_update_enqueue&lt;/p&gt;


&lt;p&gt;To track this down, I added printk&apos;s to osc_init() in osc_request.c, and to init_lustre_quota() in quota_interface.c (these are the module init routines for those two modules).  &lt;/p&gt;

&lt;p&gt;If I mount the targets without the ampersand (and sometimes when I mount the targets with the ampersand), then lquota is initialized first before osc_init.  In these cases, everything mounts just fine.&lt;/p&gt;

&lt;p&gt;In the cases when there is a problem, osc_init is called before lquota.  &lt;/p&gt;

&lt;p&gt;osc_init() calls:&lt;/p&gt;

&lt;p&gt;    cfs_request_module(&quot;lquota&quot;);&lt;/p&gt;

&lt;p&gt;Using printk&apos;s, I have shown that when osc_init() runs before init_lustre_quota(), then that call to cfs_request_module does not return quickly, meaning that the system is NOT loading the lquota.ko module right away.  I believe that this is because multiple lustre modules are trying to load lquota at once. &lt;/p&gt;

&lt;p&gt;Question:  Why do several lustre modules call cfs_request_module(&quot;lquota&quot;) ?&lt;/p&gt;

&lt;p&gt;Are they using a service or a variable exported by lquota?  I don&apos;t think so.  If they were, then modprobe would force lquota to be loaded first, which is not the case.  In particular, the lustre and the osc modules DO NOT have a dependency on lquota.  So, why are these modules calling request_module(&quot;lquota&quot;)?&lt;/p&gt;

&lt;p&gt;Roger Spellman&lt;br/&gt;
Staff Engineer&lt;br/&gt;
Terascala, Inc.&lt;br/&gt;
508-588-1501&lt;br/&gt;
www.terascala.com &amp;lt;&lt;a href=&quot;http://www.terascala.com/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.terascala.com/&lt;/a&gt;&amp;gt;&lt;/p&gt;</description>
                <environment>Centos 6.0</environment>
        <key id="12880">LU-986</key>
            <summary>Possible Race Condition</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="pjones">Peter Jones</assignee>
                                    <reporter username="rspellman">Roger Spellman</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 14:49:00 +0000</created>
                <updated>Tue, 6 Mar 2012 14:54:50 +0000</updated>
                            <resolved>Tue, 6 Mar 2012 14:54:50 +0000</resolved>
                                    <version>Lustre 2.1.0</version>
                                    <fixVersion>Lustre 2.1.1</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="30365" author="pjones" created="Fri, 2 Mar 2012 19:52:37 +0000"  >&lt;p&gt;Roger&lt;/p&gt;

&lt;p&gt;Do you still see this issue with the latest master code?&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="30560" author="rspellman" created="Mon, 5 Mar 2012 17:19:10 +0000"  >&lt;p&gt;Peter, I&apos;m waiting to get onto our system so that I can retest it.  The system is in the middle of a multi-day test that should complete tomorrow.&lt;/p&gt;</comment>
                            <comment id="30620" author="rspellman" created="Tue, 6 Mar 2012 14:50:57 +0000"  >&lt;p&gt;Peter,&lt;/p&gt;

&lt;p&gt;I was not able to reproduce this bug on 2.1.1.RC4.&lt;br/&gt;
So, it looks fixed.&lt;/p&gt;

&lt;p&gt;Roger&lt;/p&gt;</comment>
                            <comment id="30621" author="pjones" created="Tue, 6 Mar 2012 14:54:50 +0000"  >&lt;p&gt;Thanks for confirming Roger. I knew that there had been some quota-related fixes.&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|hzvhj3:</customfieldvalue>

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