<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:12:15 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-14727] incorrect locking order in ofd_preprw_write()</title>
                <link>https://jira.whamcloud.com/browse/LU-14727</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;found in one customer report:&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;
Call Trace:
[&amp;lt;ffffffffac5bd474&amp;gt;] __lock_page+0x74/0x90				objlock - lockpage
[&amp;lt;ffffffffac5be1e4&amp;gt;] __find_lock_page+0x54/0x70
[&amp;lt;ffffffffac5bee64&amp;gt;] find_or_create_page+0x34/0xa0
[&amp;lt;ffffffffc131be97&amp;gt;] osd_bufs_get+0x487/0xb20 [osd_ldiskfs]
[&amp;lt;ffffffffc16c6266&amp;gt;] ofd_preprw_write.isra.27+0x536/0x10c0 [ofd]
[&amp;lt;ffffffffc16c720e&amp;gt;] ofd_preprw+0x41e/0x8c0 [ofd]
[&amp;lt;ffffffffc0e74ddc&amp;gt;] tgt_brw_write+0xd2c/0x1d60 [ptlrpc]

Call Trace:
[&amp;lt;ffffffffac797dc7&amp;gt;] call_rwsem_down_write_failed+0x17/0x30		trunc - start - objlock
[&amp;lt;ffffffffc12f0e9c&amp;gt;] osd_write_lock+0x5c/0xe0 [osd_ldiskfs]
[&amp;lt;ffffffffc16bfb04&amp;gt;] ofd_object_punch+0x6c4/0xcb0 [ofd]
[&amp;lt;ffffffffc16aa3cf&amp;gt;] ofd_punch_hdl+0x4df/0xa90 [ofd]

Call Trace:
[&amp;lt;ffffffffacb88e79&amp;gt;] schedule+0x29/0x70
[&amp;lt;ffffffffc0442085&amp;gt;] wait_transaction_locked+0x85/0xd0 [jbd2]		lockpage - trunc - start
[&amp;lt;ffffffffc0442378&amp;gt;] add_transaction_credits+0x278/0x310 [jbd2]
[&amp;lt;ffffffffc0442601&amp;gt;] start_this_handle+0x1a1/0x430 [jbd2]
[&amp;lt;ffffffffc0442ab3&amp;gt;] jbd2__journal_start+0xf3/0x1f0 [jbd2]
[&amp;lt;ffffffffc12fd0de&amp;gt;] osd_trans_start+0x20e/0x4e0 [osd_ldiskfs]
[&amp;lt;ffffffffc16c32bc&amp;gt;] ofd_commitrw_write+0x11dc/0x1da0 [ofd]
[&amp;lt;ffffffffc16c7b29&amp;gt;] ofd_commitrw+0x479/0xe20 [ofd]
[&amp;lt;ffffffffc0e750d6&amp;gt;] tgt_brw_write+0x1026/0x1d60 [ptlrpc]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;the root cause is that ofd_preprw_write() takes a lock on the object first, then locks pages.&lt;/p&gt;

&lt;p&gt;introduced with &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10048&quot; title=&quot;osd-ldiskfs to truncate outside of main transaction&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10048&quot;&gt;&lt;del&gt;LU-10048&lt;/del&gt;&lt;/a&gt; ofd: take local locks within transaction &lt;/p&gt;</description>
                <environment></environment>
        <key id="64469">LU-14727</key>
            <summary>incorrect locking order in ofd_preprw_write()</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="6" iconUrl="https://jira.whamcloud.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="3">Duplicate</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="bzzz">Alex Zhuravlev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 Jun 2021 13:26:06 +0000</created>
                <updated>Fri, 15 Apr 2022 18:29:28 +0000</updated>
                            <resolved>Fri, 15 Apr 2022 18:29:28 +0000</resolved>
                                    <version>Upstream</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="303156" author="gerrit" created="Tue, 1 Jun 2021 13:28:03 +0000"  >&lt;p&gt;Alex Zhuravlev (bzzz@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/43883&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43883&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14727&quot; title=&quot;incorrect locking order in ofd_preprw_write()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14727&quot;&gt;&lt;del&gt;LU-14727&lt;/del&gt;&lt;/a&gt; ofd: release object lock to lock pages&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 5fee32e53e5e54244509affe27eb239976103c16&lt;/p&gt;</comment>
                            <comment id="332083" author="bzzz" created="Fri, 15 Apr 2022 18:29:28 +0000"  >&lt;p&gt;solved in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15117&quot; title=&quot;ofd_read_lock vs transaction deadlock while allocating buffers	&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15117&quot;&gt;&lt;del&gt;LU-15117&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10120">
                    <name>Blocker</name>
                                            <outwardlinks description="is blocking">
                                                        </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <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|i01vsf:</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>