<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:11:30 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-14640] ASSERTION( !PageDirty(lnb[i].lnb_page) in osd_write_commit()</title>
                <link>https://jira.whamcloud.com/browse/LU-14640</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&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;
Lustre: DEBUG MARKER: == sanity-benchmark test fsx: fsx ==================================================================== 22:56:45 (1619287005)
LustreError: 8995:0:(osd_io.c:1563:osd_write_commit()) ASSERTION( !PageDirty(lnb[i].lnb_page) ) failed: 
LustreError: 8995:0:(osd_io.c:1563:osd_write_commit()) LBUG
Pid: 8995, comm: ll_ost_io00_009 4.18.0 #36 SMP Thu Mar 25 14:56:29 MSK 2021
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_write_commit+0x33a/0x9a0 [osd_ldiskfs]
[&amp;lt;0&amp;gt;] ofd_commitrw+0xbb2/0x2d90 [ofd]
[&amp;lt;0&amp;gt;] tgt_brw_write+0xeb7/0x22f0 [ptlrpc]
[&amp;lt;0&amp;gt;] tgt_request_handle+0xbe0/0x1970 [ptlrpc]
[&amp;lt;0&amp;gt;] ptlrpc_main+0x134f/0x30e0 [ptlrpc]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;bisected to:&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;cb037f305c 2020-12-14 | LU-14160 fallocate: Add punch mode to fallocate [Arshad Hussain]&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="63928">LU-14640</key>
            <summary>ASSERTION( !PageDirty(lnb[i].lnb_page) in osd_write_commit()</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="arshad512">Arshad Hussain</assignee>
                                    <reporter username="bzzz">Alex Zhuravlev</reporter>
                        <labels>
                    </labels>
                <created>Sun, 25 Apr 2021 05:46:11 +0000</created>
                <updated>Sat, 22 Jan 2022 08:22:02 +0000</updated>
                            <resolved>Tue, 31 Aug 2021 11:16:52 +0000</resolved>
                                    <version>Upstream</version>
                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="299673" author="adilger" created="Sun, 25 Apr 2021 06:10:22 +0000"  >&lt;p&gt;Hi Arshad, could you please take a look. &lt;/p&gt;

&lt;p&gt;I suspect this is being caused by &lt;tt&gt;fallocate(PUNCH_HOLE)&lt;/tt&gt; on non-page boundaries, which is leaving the partially-zeroed page in the buffer cache.  With osd-ldiskfs we don&apos;t leave any pages in the buffer cache, so that we don&apos;t need to invalidate them later when doing large direct read/write operations. These buffers (potentially at both the start and end of the punch) should be treated the same way as a regular truncate where it zeroes the partial page, submits it for write, then invalidates the buffer afterward. &lt;/p&gt;</comment>
                            <comment id="299674" author="arshad512" created="Sun, 25 Apr 2021 06:39:14 +0000"  >&lt;p&gt;Hi Andreas, I am looking into this...&lt;/p&gt;</comment>
                            <comment id="299695" author="arshad512" created="Mon, 26 Apr 2021 12:27:16 +0000"  >&lt;p&gt;Hi Andreas,&lt;/p&gt;

&lt;p&gt;&amp;gt; ... These buffers (potentially at both the start and end of the punch) should be treated the same way as a regular truncate where it zeroes the partial page, submits it for write, then invalidates the buffer afterward.&#160;&lt;/p&gt;

&lt;p&gt;Please correct me. It looks like the fallocate(PUNCH) is currently doing partial page flush.&lt;/p&gt;

&lt;p&gt;&#160;&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;
osd_trans_stop()
----&amp;gt;osd_process_truncates()
--------&amp;gt;osd_execute_punch()
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; osd_partial_page_flush(start);  ---&amp;gt; calls (filemap_fdatawrite_range)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; osd_partial_page_flush(end);    ---&amp;gt; calls (filemap_fdatawrite_range)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Unfortunalely, on my local setup I could not get sanity-benchmark(fsx) test to reproduce the assertion yet even running in a loop.&lt;/p&gt;

&lt;p&gt;I am forcing a partial punch for verification&#160; via script. This is is also passing.&lt;/p&gt;

&lt;p&gt;&#160;&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;#!/bin/bash
fname=/mnt/lustre/A
yes &apos;a&apos; | dd of=$fname bs=4096 count=100
sync; sleep 1
for i in {100..1}; do 

   offset=$(($i * 4096))
   length=4090 
   echo &quot;Running: fallocate -p -o $offset -l $length $fname&quot;
   fallocate -p -o $offset -l $length $fname
done
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="299696" author="arshad512" created="Mon, 26 Apr 2021 12:31:36 +0000"  >&lt;p&gt;Hi Alex,&lt;/p&gt;

&lt;p&gt;I could not get sanity-benchmark(fsx) test to reproduce the assertion on my local setup. Could you help me with your setup details ? I am trying to reproduct this on the current master (a2b5290 &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14613&quot; title=&quot;sanity/60f fails on a local setup&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14613&quot;&gt;&lt;del&gt;LU-14613&lt;/del&gt;&lt;/a&gt; tests: fix sanity/60f on a local setup)&lt;/p&gt;</comment>
                            <comment id="299697" author="bzzz" created="Mon, 26 Apr 2021 12:51:16 +0000"  >&lt;p&gt;nothing really special - /tmp in ram (tmpfs), then REFORMAT=y ONLY=fsx ONLY_REPEAT=1000 sh sanity-benchmark.sh&lt;/p&gt;</comment>
                            <comment id="299698" author="arshad512" created="Mon, 26 Apr 2021 12:56:36 +0000"  >&lt;p&gt;&amp;gt;nothing really special - /tmp in ram (tmpfs), then REFORMAT=y ONLY=fsx ONLY_REPEAT=1000 sh sanity-benchmark.sh&lt;/p&gt;

&lt;p&gt;I will try out with increased loop count. Thanks!&lt;/p&gt;</comment>
                            <comment id="299783" author="gerrit" created="Tue, 27 Apr 2021 01:27:48 +0000"  >&lt;p&gt;Arshad Hussain (arshad.hussain@aeoncomputing.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/43462&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43462&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14640&quot; title=&quot;ASSERTION( !PageDirty(lnb[i].lnb_page) in osd_write_commit()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14640&quot;&gt;&lt;del&gt;LU-14640&lt;/del&gt;&lt;/a&gt; osd: non aligned flush&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 48a492c9d87163dc8c55a4ad1042bbab9a07448c&lt;/p&gt;</comment>
                            <comment id="311647" author="gerrit" created="Tue, 31 Aug 2021 05:20:33 +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/43462/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43462/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14640&quot; title=&quot;ASSERTION( !PageDirty(lnb[i].lnb_page) in osd_write_commit()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14640&quot;&gt;&lt;del&gt;LU-14640&lt;/del&gt;&lt;/a&gt; osd: ASSERTION(!PageDirty(lnb&lt;span class=&quot;error&quot;&gt;&amp;#91;i&amp;#93;&lt;/span&gt;.lnb_page)&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 76c5e8ed9560fe232bcc0c2ee0069dbdb8411565&lt;/p&gt;</comment>
                            <comment id="311674" author="pjones" created="Tue, 31 Aug 2021 11:16:52 +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="62700">LU-14402</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|i01t1r:</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>