<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:12:16 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-7829] Glimpse lock shouldn&apos;t match not granted locks</title>
                <link>https://jira.whamcloud.com/browse/LU-7829</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;    A deadlock is possible during ccc_prep_size()-&amp;gt;ldlm_lock_match() vs&lt;br/&gt;
    cl_io_lock() which is waiting for a matched lock and conflicts with&lt;br/&gt;
    already taken lock before ccc_prep_size().&lt;/p&gt;

&lt;p&gt;    It is better to send an aditional lock request to avoid deadlock.&lt;/p&gt;</description>
                <environment></environment>
        <key id="35076">LU-7829</key>
            <summary>Glimpse lock shouldn&apos;t match not granted locks</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="wc-triage">WC Triage</assignee>
                                    <reporter username="askulysh">Andriy Skulysh</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Tue, 1 Mar 2016 14:01:36 +0000</created>
                <updated>Fri, 13 May 2016 05:02:39 +0000</updated>
                            <resolved>Wed, 23 Mar 2016 15:36:27 +0000</resolved>
                                                    <fixVersion>Lustre 2.9.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>9</watches>
                                                                            <comments>
                            <comment id="144345" author="gerrit" created="Tue, 1 Mar 2016 19:29:16 +0000"  >&lt;p&gt;Andriy Skulysh (andriy.skulysh@seagate.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/18738&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18738&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7829&quot; title=&quot;Glimpse lock shouldn&amp;#39;t match not granted locks&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7829&quot;&gt;&lt;del&gt;LU-7829&lt;/del&gt;&lt;/a&gt; osc: glimpse lock should match only with granted locks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 12ca5348a93485a3f2112e82095b83aad02e77ea&lt;/p&gt;</comment>
                            <comment id="144585" author="green" created="Fri, 4 Mar 2016 02:10:42 +0000"  >&lt;p&gt;I am pulling Jinshan into this ticket.&lt;/p&gt;

&lt;p&gt;I am not happy about the current matching behavior either, but I think this was discussed a few years ago and there were some compelling reasons to do it too. Possibly they went away with clio simplification, but I want to be sure that is fine now.&lt;/p&gt;</comment>
                            <comment id="144724" author="jay" created="Mon, 7 Mar 2016 01:11:38 +0000"  >&lt;p&gt;Hi Andriy,&lt;/p&gt;

&lt;p&gt;Can you please describe the deadlock issue in detail? In my understanding, the cl_io_lock() should have finished before doing ccc_prep_size() in the same I/O.&lt;/p&gt;</comment>
                            <comment id="144961" author="askulysh" created="Tue, 8 Mar 2016 23:36:34 +0000"  >&lt;p&gt;yes, we have obtained a lock in cl_io_lock() and call ccc_prep_size() which matches not granted lock from another I/O. The second lock can&apos;t be granted because it conflicts with lock from first I/O. It can be obtained for some limited range but ccc_prep_size() needs &lt;span class=&quot;error&quot;&gt;&amp;#91;0..EOF&amp;#93;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="145334" author="wang" created="Sat, 12 Mar 2016 20:50:58 +0000"  >&lt;p&gt;We have an instance of this:&lt;/p&gt;

&lt;p&gt;crash&amp;gt; bt 7141&lt;br/&gt;
PID: 7141   TASK: ffff8808360a9800  CPU: 2   COMMAND: &quot;wc&quot;&lt;br/&gt;
 #0 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87668&amp;#93;&lt;/span&gt; schedule at ffffffff8141c637&lt;br/&gt;
 #1 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf877d0&amp;#93;&lt;/span&gt; schedule_timeout at ffffffff8141d0e0&lt;br/&gt;
 #2 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87870&amp;#93;&lt;/span&gt; ldlm_lock_match at ffffffffa0474b01 &lt;span class=&quot;error&quot;&gt;&amp;#91;ptlrpc&amp;#93;&lt;/span&gt;&lt;br/&gt;
 #3 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87950&amp;#93;&lt;/span&gt; osc_enqueue_base at ffffffffa06e9970 &lt;span class=&quot;error&quot;&gt;&amp;#91;osc&amp;#93;&lt;/span&gt;&lt;br/&gt;
 #4 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf879e0&amp;#93;&lt;/span&gt; osc_lock_enqueue at ffffffffa0704576 &lt;span class=&quot;error&quot;&gt;&amp;#91;osc&amp;#93;&lt;/span&gt;&lt;br/&gt;
 #5 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87a70&amp;#93;&lt;/span&gt; cl_enqueue_try at ffffffffa037c6eb &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
 #6 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87ac0&amp;#93;&lt;/span&gt; lov_lock_enqueue at ffffffffa0799f02 &lt;span class=&quot;error&quot;&gt;&amp;#91;lov&amp;#93;&lt;/span&gt;&lt;br/&gt;
 #7 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87b60&amp;#93;&lt;/span&gt; cl_enqueue_try at ffffffffa037c6eb &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
 #8 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87bb0&amp;#93;&lt;/span&gt; cl_enqueue_locked at ffffffffa037d0ff &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
 #9 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87bf0&amp;#93;&lt;/span&gt; cl_lock_request at ffffffffa037dd1e &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
#10 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87c50&amp;#93;&lt;/span&gt; cl_glimpse_lock at ffffffffa0869bff &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
#11 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87cb0&amp;#93;&lt;/span&gt; ccc_prep_size at ffffffffa086bc3e &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
#12 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87d10&amp;#93;&lt;/span&gt; vvp_io_read_start at ffffffffa087457a &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
#13 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87d80&amp;#93;&lt;/span&gt; cl_io_start at ffffffffa037f4d2 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
#14 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87db0&amp;#93;&lt;/span&gt; cl_io_loop at ffffffffa0383054 &lt;span class=&quot;error&quot;&gt;&amp;#91;obdclass&amp;#93;&lt;/span&gt;&lt;br/&gt;
#15 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87de0&amp;#93;&lt;/span&gt; ll_file_io_generic at ffffffffa0815f02 &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
#16 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87e60&amp;#93;&lt;/span&gt; ll_file_aio_read at ffffffffa081669b &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
#17 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87eb0&amp;#93;&lt;/span&gt; ll_file_read at ffffffffa081700a &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
#18 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87f10&amp;#93;&lt;/span&gt; vfs_read at ffffffff8115c048&lt;br/&gt;
#19 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87f40&amp;#93;&lt;/span&gt; sys_read at ffffffff8115c205&lt;br/&gt;
#20 &lt;span class=&quot;error&quot;&gt;&amp;#91;ffff8807ccf87f80&amp;#93;&lt;/span&gt; system_call_fastpath at ffffffff81426aab&lt;br/&gt;
    RIP: 00002aaaaad9db90  RSP: 00007fffffff2f60  RFLAGS: 00000206&lt;br/&gt;
    RAX: 0000000000000000  RBX: ffffffff81426aab  RCX: 0000000000000002&lt;br/&gt;
    RDX: 0000000000004000  RSI: 00007fffffff2fd0  RDI: 0000000000000003&lt;br/&gt;
    RBP: 0000000000000000   R8: 00007fffffff6a82   R9: 0000000000000001&lt;br/&gt;
    R10: 0000000000000000  R11: 0000000000000246  R12: 00000000021ec000&lt;br/&gt;
    R13: 0000000000000003  R14: 00007fffffff2fd0  R15: 0000000000004000&lt;br/&gt;
    ORIG_RAX: 0000000000000000  CS: 0033  SS: 002b&lt;br/&gt;
crash&amp;gt; &lt;/p&gt;

&lt;p&gt;The lock matched is conflicting with the lock it held in cl_io_lock before coming to this point. And also because this deadlock the lock couldn&apos;t be canceled for blocking AST and the client eventually got evicted by the server.&lt;/p&gt;

&lt;p&gt;The dump of the instance is on ftp.cray.com:/outbound/835240-logs-021116.tar.bz2. The client is Lustre 2.5.&lt;/p&gt;
</comment>
                            <comment id="146571" author="gerrit" created="Wed, 23 Mar 2016 06:03:25 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/18738/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18738/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7829&quot; title=&quot;Glimpse lock shouldn&amp;#39;t match not granted locks&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7829&quot;&gt;&lt;del&gt;LU-7829&lt;/del&gt;&lt;/a&gt; osc: glimpse lock should match only with granted locks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: a9b3317360261b9a694a445e4dac1d3fa61664fd&lt;/p&gt;</comment>
                            <comment id="146629" author="jgmitter" created="Wed, 23 Mar 2016 15:36:27 +0000"  >&lt;p&gt;Landed for 2.9.0&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|hzy37z:</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>