<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:11:20 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-14621] Broken lock-transaction ordering in MDS code</title>
                <link>https://jira.whamcloud.com/browse/LU-14621</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;there are few places where local lock is taken before transaction starts which breaks transaction-then-locks rule:&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;
 lbug_with_loc.cold.6+0x18/0x18 [libcfs]
 ? osd_trans_start+0x2f1/0x5a0 [osd_ldiskfs]
 osd_trans_start+0x2fd/0x5a0 [osd_ldiskfs]
 top_trans_start+0x40c/0x940 [ptlrpc]
 ? mdd_orphan_declare_delete+0x176/0x5c0 [mdd]
 mdd_orphan_cleanup_thread+0xaa1/0x18f0 [mdd]
 ? mdd_orphan_declare_delete+0x5c0/0x5c0 [mdd]
 kthread+0x11a/0x130
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;
[&amp;lt;0&amp;gt;] libcfs_call_trace+0x76/0xa0 [libcfs]
[&amp;lt;0&amp;gt;] lbug_with_loc+0x3e/0x80 [libcfs]
[&amp;lt;0&amp;gt;] osd_trans_start+0x2fd/0x5a0 [osd_ldiskfs]
[&amp;lt;0&amp;gt;] top_trans_start+0x40c/0x940 [ptlrpc]
[&amp;lt;0&amp;gt;] mdd_swap_layouts+0x12f5/0x2350 [mdd]
[&amp;lt;0&amp;gt;] mdt_swap_layouts+0x40e/0x9a0 [mdt]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;
[&amp;lt;0&amp;gt;] osd_trans_start+0x2fd/0x5a0 [osd_ldiskfs]
[&amp;lt;0&amp;gt;] top_trans_start+0x40c/0x940 [ptlrpc]
[&amp;lt;0&amp;gt;] mdd_xattr_set+0x18c7/0x2e50 [mdd]
[&amp;lt;0&amp;gt;] mdt_close_handle_layouts+0xe23/0x1160 [mdt]
[&amp;lt;0&amp;gt;] mdt_mfd_close+0x5af/0x3110 [mdt]
[&amp;lt;0&amp;gt;] mdt_close_internal+0xfd/0x230 [mdt]
[&amp;lt;0&amp;gt;] mdt_close+0x60a/0x840 [mdt]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;0&amp;gt;] libcfs_call_trace+0x76/0xa0 [libcfs]
[&amp;lt;0&amp;gt;] lbug_with_loc+0x3e/0x80 [libcfs]
[&amp;lt;0&amp;gt;] osd_trans_start+0x2fd/0x5a0 [osd_ldiskfs]
[&amp;lt;0&amp;gt;] __lfsck_layout_update_pfid+0x15f/0x580 [lfsck]
[&amp;lt;0&amp;gt;] lfsck_layout_slave_in_notify_local+0x4ed/0x710 [lfsck]
[&amp;lt;0&amp;gt;] lfsck_in_notify_local+0x81/0x3f0 [lfsck]
[&amp;lt;0&amp;gt;] ofd_inconsistency_verification_main+0x1f2/0xa70 [ofd]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;it&apos;s trivial to reproduce with the following patch:&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;
index 04984f5d9f..b91b7c73e5 100644
--- a/lustre/osd-ldiskfs/osd_handler.c
+++ b/lustre/osd-ldiskfs/osd_handler.c
@@ -1913,6 +1913,9 @@ &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; osd_trans_start(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_env *env, struct dt_device *d,
 
        ENTRY;
 
+       LASSERT(oti-&amp;gt;oti_w_locks == 0);
+       LASSERT(oti-&amp;gt;oti_r_locks == 0);
+
        LASSERT(current-&amp;gt;journal_info == NULL);
 
        oh = container_of(th, struct osd_thandle, ot_super);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="63839">LU-14621</key>
            <summary>Broken lock-transaction ordering in MDS code</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="bzzz">Alex Zhuravlev</assignee>
                                    <reporter username="bzzz">Alex Zhuravlev</reporter>
                        <labels>
                    </labels>
                <created>Sun, 18 Apr 2021 13:46:10 +0000</created>
                <updated>Tue, 29 Aug 2023 22:21:45 +0000</updated>
                            <resolved>Sat, 31 Jul 2021 13:24:12 +0000</resolved>
                                    <version>Upstream</version>
                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="299116" author="gerrit" created="Sun, 18 Apr 2021 13:55:32 +0000"  >&lt;p&gt;Alex Zhuravlev (bzzz@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/43362&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43362&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14621&quot; title=&quot;Broken lock-transaction ordering in MDS code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14621&quot;&gt;&lt;del&gt;LU-14621&lt;/del&gt;&lt;/a&gt; mdd: fix lock-tx order in orphan cleanup&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 3150af6df4128db727e3aab1dce9334555fa8afa&lt;/p&gt;</comment>
                            <comment id="299132" author="gerrit" created="Mon, 19 Apr 2021 05:44:45 +0000"  >&lt;p&gt;Alex Zhuravlev (bzzz@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/43366&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43366&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14621&quot; title=&quot;Broken lock-transaction ordering in MDS code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14621&quot;&gt;&lt;del&gt;LU-14621&lt;/del&gt;&lt;/a&gt; mdd: fix lock-tx order in mdd_xattr_merge()&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: afb757d02a34b7c8a2227f6a316b51dfab8698e7&lt;/p&gt;</comment>
                            <comment id="300512" author="gerrit" created="Wed, 5 May 2021 02:50:54 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/43362/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43362/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14621&quot; title=&quot;Broken lock-transaction ordering in MDS code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14621&quot;&gt;&lt;del&gt;LU-14621&lt;/del&gt;&lt;/a&gt; mdd: fix lock-tx order in orphan cleanup&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: f7396ce80fc780eca2645e371785cba256c55fa1&lt;/p&gt;</comment>
                            <comment id="308993" author="gerrit" created="Sat, 31 Jul 2021 06:38:57 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/43366/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43366/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14621&quot; title=&quot;Broken lock-transaction ordering in MDS code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14621&quot;&gt;&lt;del&gt;LU-14621&lt;/del&gt;&lt;/a&gt; mdd: fix lock-tx order in mdd_xattr_merge()&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: b7bd4e3422935fec82d13348d90ec205ac2f4da4&lt;/p&gt;</comment>
                            <comment id="309006" author="pjones" created="Sat, 31 Jul 2021 13:24:12 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="77562">LU-17048</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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|i01shz:</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>