<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:08:06 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-7345] lockdep warning on dt_write_lock(env,parent,0)</title>
                <link>https://jira.whamcloud.com/browse/LU-7345</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Upon mounting MDT, lockdep emits a warning:&lt;/p&gt;

&lt;p&gt;[ INFO: possible recursive locking detected ]&lt;br/&gt;
2.6.32-504.16.2.1chaos.ch5.3.x86_64.debug #1&lt;br/&gt;
---------------------------------------------&lt;br/&gt;
llog_process_th/22500 is trying to acquire lock:&lt;br/&gt;
(&amp;amp;mo-&amp;gt;oo_sem){++++++}, at: &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa10e6c01&amp;gt;&amp;#93;&lt;/span&gt; osd_object_write_lock+0x61/0x70 &lt;span class=&quot;error&quot;&gt;&amp;#91;osd_zfs&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;but task is already holding lock:&lt;br/&gt;
(&amp;amp;mo-&amp;gt;oo_sem){++++++}, at: &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa10e6c01&amp;gt;&amp;#93;&lt;/span&gt; osd_object_write_lock+0x61/0x70 &lt;span class=&quot;error&quot;&gt;&amp;#91;osd_zfs&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;other info that might help us debug this:&lt;br/&gt;
1 lock held by llog_process_th/22500:&lt;br/&gt;
#0:  (&amp;amp;mo-&amp;gt;oo_sem){++++++}, at: &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa10e6c01&amp;gt;&amp;#93;&lt;/span&gt; osd_object_write_lock+0x61/0x70 &lt;span class=&quot;error&quot;&gt;&amp;#91;osd_zfs&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;stack backtrace:&lt;br/&gt;
Pid: 22500, comm: llog_process_th Tainted: G        W  ---------------    2.6.32-504.16.2.1chaos.ch5.3.x86_64.debug #1&lt;br/&gt;
Call Trace:&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff810bfe90&amp;gt;&amp;#93;&lt;/span&gt; ? __lock_acquire+0x11b0/0x1560&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0abc225&amp;gt;&amp;#93;&lt;/span&gt; ? lu_object_put+0x135/0x3b0 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff810c02e4&amp;gt;&amp;#93;&lt;/span&gt; ? lock_acquire+0xa4/0x120&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa10e6c01&amp;gt;&amp;#93;&lt;/span&gt; ? osd_object_write_lock+0x61/0x70 &lt;span class=&quot;error&quot;&gt;&amp;#91;osd_zfs&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff815603b1&amp;gt;&amp;#93;&lt;/span&gt; ? down_write+0x61/0xb0&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa10e6c01&amp;gt;&amp;#93;&lt;/span&gt; ? osd_object_write_lock+0x61/0x70 &lt;span class=&quot;error&quot;&gt;&amp;#91;osd_zfs&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa10e6c01&amp;gt;&amp;#93;&lt;/span&gt; ? osd_object_write_lock+0x61/0x70 &lt;span class=&quot;error&quot;&gt;&amp;#91;osd_zfs&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0a9b374&amp;gt;&amp;#93;&lt;/span&gt; ? dt_write_lock.clone.4+0x24/0xc0 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0a9eea4&amp;gt;&amp;#93;&lt;/span&gt; ? __local_file_create+0x6b4/0xbb0 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0a9f673&amp;gt;&amp;#93;&lt;/span&gt; ? local_file_find_or_create+0x123/0x190 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa1075706&amp;gt;&amp;#93;&lt;/span&gt; ? lquota_disk_dir_find_create+0x136/0x610 &lt;span class=&quot;error&quot;&gt;&amp;#91;lquota&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa108e056&amp;gt;&amp;#93;&lt;/span&gt; ? qmt_device_prepare+0xb6/0x200 &lt;span class=&quot;error&quot;&gt;&amp;#91;lquota&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa11c4387&amp;gt;&amp;#93;&lt;/span&gt; ? mdt_quota_init+0xdb7/0x1360 &lt;span class=&quot;error&quot;&gt;&amp;#91;mdt&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa11cbb65&amp;gt;&amp;#93;&lt;/span&gt; ? mdt_device_alloc+0x1095/0x1260 &lt;span class=&quot;error&quot;&gt;&amp;#91;mdt&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0aa242f&amp;gt;&amp;#93;&lt;/span&gt; ? obd_setup+0x1bf/0x290 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0aa2758&amp;gt;&amp;#93;&lt;/span&gt; ? class_setup+0x258/0x930 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0aa9011&amp;gt;&amp;#93;&lt;/span&gt; ? class_process_config+0x1151/0x26d0 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8118c983&amp;gt;&amp;#93;&lt;/span&gt; ? cache_alloc_debugcheck_after+0xf3/0x230&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff81545b30&amp;gt;&amp;#93;&lt;/span&gt; ? kmemleak_alloc+0x20/0xd0&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8118ffdb&amp;gt;&amp;#93;&lt;/span&gt; ? __kmalloc+0x21b/0x330&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0aabe2f&amp;gt;&amp;#93;&lt;/span&gt; ? class_config_llog_handler+0xa8f/0x1fb0 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0aabfb6&amp;gt;&amp;#93;&lt;/span&gt; ? class_config_llog_handler+0xc16/0x1fb0 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0a6f212&amp;gt;&amp;#93;&lt;/span&gt; ? llog_process_thread+0x932/0xfc0 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0a6fde8&amp;gt;&amp;#93;&lt;/span&gt; ? llog_process_thread_daemonize+0x48/0x70 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0a6fda0&amp;gt;&amp;#93;&lt;/span&gt; ? llog_process_thread_daemonize+0x0/0x70 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff810a4cbe&amp;gt;&amp;#93;&lt;/span&gt; ? kthread+0x9e/0xc0&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8100c30a&amp;gt;&amp;#93;&lt;/span&gt; ? child_rip+0xa/0x20&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8100bb10&amp;gt;&amp;#93;&lt;/span&gt; ? restore_args+0x0/0x30&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff810a4c20&amp;gt;&amp;#93;&lt;/span&gt; ? kthread+0x0/0xc0&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8100c300&amp;gt;&amp;#93;&lt;/span&gt; ? child_rip+0x0/0x20&lt;/p&gt;

&lt;p&gt;I believe this occurs because __local_file_create() calls dt_write_lock(env, dto, 0) followed by dt_write_lock(env, parent, 0); since dto and parent are both dt_object, and no lock class was explicitly set, the class for the embedded locks are the same and based on the class it appears to be a recursive lock attempt.&lt;/p&gt;

&lt;p&gt;So, I believe the warning to be a false positive.&lt;/p&gt;

&lt;p&gt;The actual stack, appears to me to be:&lt;br/&gt;
down_write&lt;br/&gt;
osd_object_write_lock &lt;span class=&quot;error&quot;&gt;&amp;#91;osd_zfs&amp;#93;&lt;/span&gt;&lt;br/&gt;
do_write_lock AKA osd_object_write_lock&lt;br/&gt;
dt_write_lock&lt;br/&gt;
__local_file_create &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
local_file_find_or_create &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
lquota_disk_dir_find_create &lt;span class=&quot;error&quot;&gt;&amp;#91;lquota&amp;#93;&lt;/span&gt;&lt;br/&gt;
qmt_device_prepare &lt;span class=&quot;error&quot;&gt;&amp;#91;lquota&amp;#93;&lt;/span&gt;&lt;br/&gt;
ldo_prepare  AKA qmt_device_prepare&lt;br/&gt;
mdt_quota_init &lt;span class=&quot;error&quot;&gt;&amp;#91;mdt&amp;#93;&lt;/span&gt;&lt;br/&gt;
mdt_init0&lt;br/&gt;
mdt_device_alloc &lt;span class=&quot;error&quot;&gt;&amp;#91;mdt&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;I&apos;ll submit a patch.  It does make the symptom go away, but it would be good for someone to confirm my diagnosis.&lt;/p&gt;</description>
                <environment>TOSS 2.3-6 / 2.6.32-504.16.2.1chaos.ch5.3.x86_64.debug&lt;br/&gt;
(CONFIG_LOCKDEP=y)</environment>
        <key id="32849">LU-7345</key>
            <summary>lockdep warning on dt_write_lock(env,parent,0)</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="dmiter">Dmitry Eremin</assignee>
                                    <reporter username="ofaaland">Olaf Faaland</reporter>
                        <labels>
                            <label>llnl</label>
                            <label>patch</label>
                    </labels>
                <created>Tue, 27 Oct 2015 17:26:00 +0000</created>
                <updated>Wed, 18 Nov 2015 01:36:56 +0000</updated>
                            <resolved>Wed, 18 Nov 2015 01:36:56 +0000</resolved>
                                    <version>Lustre 2.8.0</version>
                                    <fixVersion>Lustre 2.8.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="131696" author="gerrit" created="Tue, 27 Oct 2015 17:40:17 +0000"  >&lt;p&gt;Olaf Faaland-LLNL (faaland1@llnl.gov) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/16957&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16957&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7345&quot; title=&quot;lockdep warning on dt_write_lock(env,parent,0)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7345&quot;&gt;&lt;del&gt;LU-7345&lt;/del&gt;&lt;/a&gt; obdclass: annotate locks in __local_file_create&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 3ba1e9a4d3244b05b805a444f2498e53283b34ef&lt;/p&gt;</comment>
                            <comment id="131722" author="pjones" created="Tue, 27 Oct 2015 18:45:39 +0000"  >&lt;p&gt;Dmitry&lt;/p&gt;

&lt;p&gt;Could you please review this patch?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="133560" author="gerrit" created="Sun, 15 Nov 2015 15:39:28 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/16957/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16957/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7345&quot; title=&quot;lockdep warning on dt_write_lock(env,parent,0)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7345&quot;&gt;&lt;del&gt;LU-7345&lt;/del&gt;&lt;/a&gt; obdclass: annotate locks in __local_file_create&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 953e9e5e75ca12a5ef72bfe844c1216341af12c9&lt;/p&gt;</comment>
                            <comment id="133799" author="jgmitter" created="Wed, 18 Nov 2015 01:36:56 +0000"  >&lt;p&gt;Landed for 2.8&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|hzxrkn:</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>