<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:15:34 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-15114] ASSERTION( atomic_read(&amp;d-&gt;opd_sync_changes) &gt; 0</title>
                <link>https://jira.whamcloud.com/browse/LU-15114</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Customer sees repeatable MDS crashes with ASSERTION( atomic_read(&amp;amp;d-&amp;gt;opd_sync_changes) &amp;gt; 0 . From the vmcore it is seen sync_changes indeed overflowed and turned into a negative number triggering the assertion failure.&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;crash&amp;gt; osp_device ffff9a6f5ff4e000
struct osp_device {
  opd_dt_dev = {
    dd_lu_dev = {
      ld_ref = {
        counter = 371136
      }, 
      ld_type = 0xffffffffc14d1620 &amp;lt;osp_device_type&amp;gt;, 
      ld_ops = 0xffffffffc14c74c0 &amp;lt;osp_lu_ops&amp;gt;, 
      ld_site = 0xffff9a6fac302138, 
...
crash&amp;gt; osp_device.opd_sync_changes ffff9a6f5ff4e000
  opd_sync_changes = {
    counter = -2147477073
  }
crash&amp;gt; 

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The whole OSP-sync system of adding unlink/setattr llog records to per OST llog files (two-tier , llog catalog + plain llogs) has no mechanism to prevent growing of llog catalogs/files and eventually overflow sync_updates counter . The counter is a signed integer, so exceeding 2bln turns it into a negative number. The llog catalog + llog files also has a limited capacity to store llog records (approximately 64k * 64k is the max).&lt;/p&gt;

&lt;p&gt;On a slow system, I can reproduce an unlimited grow of sync_changes by running a simple program changing uid of an open file in a endless loop:&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@cslmo2302 ~&amp;#93;&lt;/span&gt;# while sleep 10; do lctl get_param  osp.*.sync_changes ; done&lt;br/&gt;
osp.testfs-OST0000-osc-MDT0000.sync_changes=106264&lt;br/&gt;
osp.testfs-OST0001-osc-MDT0000.sync_changes=0&lt;br/&gt;
osp.testfs-OST0000-osc-MDT0000.sync_changes=157168&lt;br/&gt;
osp.testfs-OST0001-osc-MDT0000.sync_changes=0&lt;br/&gt;
osp.testfs-OST0000-osc-MDT0000.sync_changes=206598&lt;br/&gt;
osp.testfs-OST0001-osc-MDT0000.sync_changes=0&lt;br/&gt;
osp.testfs-OST0000-osc-MDT0000.sync_changes=255955&lt;br/&gt;
osp.testfs-OST0001-osc-MDT0000.sync_changes=0&lt;br/&gt;
osp.testfs-OST0000-osc-MDT0000.sync_changes=305767&lt;br/&gt;
osp.testfs-OST0001-osc-MDT0000.sync_changes=0&lt;br/&gt;
...&lt;br/&gt;
osp.testfs-OST0001-osc-MDT0000.sync_changes=0&lt;br/&gt;
osp.testfs-OST0000-osc-MDT0000.sync_changes=1225362&lt;br/&gt;
osp.testfs-OST0001-osc-MDT0000.sync_changes=0&lt;br/&gt;
osp.testfs-OST0000-osc-MDT0000.sync_changes=1221266&lt;br/&gt;
by running a single thread test program with chown(2) system calls and setting&lt;/p&gt;

&lt;p&gt;lctl set_param osp.*.max_rpcs_in_progress=4096&lt;br/&gt;
Having 1) a faster system , 2) some additional load on OSTs , 3) network problems it is even more real to hit the assertion.&lt;/p&gt;</description>
                <environment></environment>
        <key id="66688">LU-15114</key>
            <summary>ASSERTION( atomic_read(&amp;d-&gt;opd_sync_changes) &gt; 0</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="zam">Alexander Zarochentsev</assignee>
                                    <reporter username="zam">Alexander Zarochentsev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Oct 2021 17:01:18 +0000</created>
                <updated>Sun, 20 Feb 2022 19:18:35 +0000</updated>
                            <resolved>Tue, 30 Nov 2021 13:45:22 +0000</resolved>
                                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="315734" author="gerrit" created="Fri, 15 Oct 2021 17:44:03 +0000"  >&lt;p&gt;&quot;Alexander Zarochentsev &amp;lt;alexander.zarochentsev@hpe.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/45265&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45265&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15114&quot; title=&quot;ASSERTION( atomic_read(&amp;amp;d-&amp;gt;opd_sync_changes) &amp;gt; 0&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15114&quot;&gt;&lt;del&gt;LU-15114&lt;/del&gt;&lt;/a&gt; osp: changes queuing throttle&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: d7663f26374675f3670d72328feb97e101cf5ba0&lt;/p&gt;</comment>
                            <comment id="319461" author="gerrit" created="Tue, 30 Nov 2021 03:46:00 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/45265/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45265/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15114&quot; title=&quot;ASSERTION( atomic_read(&amp;amp;d-&amp;gt;opd_sync_changes) &amp;gt; 0&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15114&quot;&gt;&lt;del&gt;LU-15114&lt;/del&gt;&lt;/a&gt; osp: changes queuing throttle&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: c226e70007aab798c39ccd0fe13ddcba65f04f23&lt;/p&gt;</comment>
                            <comment id="319535" author="pjones" created="Tue, 30 Nov 2021 13:45:22 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="66214">LU-15030</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="66689">LU-15115</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="68773">LU-15577</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|i027h3:</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>