<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:28:14 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-16579] llite: Fix the wrong ending offset calculation</title>
                <link>https://jira.whamcloud.com/browse/LU-16579</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;For a single-stripe file, after applied &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/49226&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/49226&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16338&quot; title=&quot;read-ahead more than file size for a small file&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16338&quot;&gt;LU-16338&lt;/a&gt; readahead: clip readahead with kms,&lt;br/&gt;
It cause a dead loop:&lt;br/&gt;
&lt;a href=&quot;https://testing.whamcloud.com/test_logs/8d73c4e7-0e6e-482c-b93c-bf7159706890/show_text&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.whamcloud.com/test_logs/8d73c4e7-0e6e-482c-b93c-bf7159706890/show_text&lt;/a&gt;&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;
00000080:00200000:1.0:1676614736.277040:0:21215:0:(rw.c:1981:ll_readpage()) pgno:260, cnt:1032192, pos:0
00000080:00000001:1.0:1676614736.277041:0:21215:0:(vvp_io.c:1654:vvp_io_read_ahead()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000080:00000001:1.0:1676614736.277041:0:21215:0:(vvp_io.c:1666:vvp_io_read_ahead()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00000008:00000001:1.0:1676614736.277042:0:21215:0:(osc_io.c:83:osc_io_read_ahead()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000008:00000001:1.0:1676614736.277042:0:21215:0:(osc_lock.c:1281:osc_obj_dlmlock_at_pgoff()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000008:00000001:1.0:1676614736.277043:0:21215:0:(osc_request.c:3137:osc_match_base()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000008:00000001:1.0:1676614736.277043:0:21215:0:(osc_request.c:3172:osc_match_base()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=4 : 4 : 4)
00000008:00000001:1.0:1676614736.277044:0:21215:0:(osc_lock.c:1315:osc_obj_dlmlock_at_pgoff()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446620395345229440 : -123678364322176 : ffff8f83e3073680)
00000008:00000001:1.0:1676614736.277045:0:21215:0:(osc_io.c:112:osc_io_read_ahead()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00000080:00000001:1.0:1676614736.277045:0:21215:0:(rw.c:2012:ll_readpage()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=524289 : 524289 : 80001)
00000080:00000001:1.0:1676614736.277046:0:21215:0:(rw.c:1873:ll_readpage()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000080:00200000:1.0:1676614736.277046:0:21215:0:(rw.c:1981:ll_readpage()) pgno:260, cnt:1032192, pos:0
00000080:00000001:1.0:1676614736.277047:0:21215:0:(vvp_io.c:1654:vvp_io_read_ahead()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000080:00000001:1.0:1676614736.277047:0:21215:0:(vvp_io.c:1666:vvp_io_read_ahead()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00000008:00000001:1.0:1676614736.277048:0:21215:0:(osc_io.c:83:osc_io_read_ahead()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000008:00000001:1.0:1676614736.277048:0:21215:0:(osc_lock.c:1281:osc_obj_dlmlock_at_pgoff()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000008:00000001:1.0:1676614736.277049:0:21215:0:(osc_request.c:3137:osc_match_base()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000008:00000001:1.0:1676614736.277049:0:21215:0:(osc_request.c:3172:osc_match_base()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=4 : 4 : 4)
00000008:00000001:1.0:1676614736.277050:0:21215:0:(osc_lock.c:1315:osc_obj_dlmlock_at_pgoff()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446620395345229440 : -123678364322176 : ffff8f83e3073680)
00000008:00000001:1.0:1676614736.277051:0:21215:0:(osc_io.c:112:osc_io_read_ahead()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00000080:00000001:1.0:1676614736.277051:0:21215:0:(rw.c:2012:ll_readpage()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=524289 : 524289 : 80001)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The dead loop code lines:&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;
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (cl_offset(clob, vmpage-&amp;gt;index) &amp;gt;= iter-&amp;gt;count + iocb-&amp;gt;ki_pos) {
                        result = cl_io_read_ahead(env, io, vmpage-&amp;gt;index, &amp;amp;ra);
                        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (result &amp;lt; 0 || vmpage-&amp;gt;index &amp;gt; ra.cra_end_idx) {
                                cl_read_ahead_release(env, &amp;amp;ra);
                                unlock_page(vmpage);
                                RETURN(AOP_TRUNCATED_PAGE); ===&amp;gt;AOP_TRUNCATED_PAGE = 80001
                        }
                }

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;After investigated, I found the ending beyond offset calculation is wrong as each time finished the read of a page, it will advance the @iter-&amp;gt;count (iter-&amp;gt;count - read_bytes).&lt;br/&gt;
The wrong ending offset results in the dead loop described above. &lt;/p&gt;</description>
                <environment></environment>
        <key id="74744">LU-16579</key>
            <summary>llite: Fix the wrong ending offset calculation</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="qian_wc">Qian Yingjin</assignee>
                                    <reporter username="qian_wc">Qian Yingjin</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 Feb 2023 02:00:12 +0000</created>
                <updated>Tue, 25 Apr 2023 03:45:45 +0000</updated>
                            <resolved>Tue, 21 Mar 2023 23:29:15 +0000</resolved>
                                    <version>Lustre 2.16.0</version>
                                    <fixVersion>Lustre 2.16.0</fixVersion>
                    <fixVersion>Lustre 2.15.3</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="363416" author="adilger" created="Mon, 20 Feb 2023 03:09:46 +0000"  >&lt;p&gt;Yingjin, since the &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16338&quot; title=&quot;read-ahead more than file size for a small file&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16338&quot;&gt;LU-16338&lt;/a&gt; patch has not landed yet, why not just fix this as part of that patch?  Is this issue caused by this patch, or just an existing bug exposed by that change?&lt;/p&gt;</comment>
                            <comment id="363418" author="gerrit" created="Mon, 20 Feb 2023 03:31:13 +0000"  >&lt;p&gt;&quot;Qian Yingjin &amp;lt;qian@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50065&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50065&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16579&quot; title=&quot;llite: Fix the wrong ending offset calculation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16579&quot;&gt;&lt;del&gt;LU-16579&lt;/del&gt;&lt;/a&gt; llite: fix the wrong beyond read end calculation&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: c4afbee4c795d5305827f3ce533f3d04474a18eb&lt;/p&gt;</comment>
                            <comment id="363423" author="qian_wc" created="Mon, 20 Feb 2023 04:57:16 +0000"  >&lt;p&gt;I think it is an existing bug exposed by that change.&lt;/p&gt;</comment>
                            <comment id="365485" author="qian_wc" created="Fri, 10 Mar 2023 10:28:50 +0000"  >&lt;p&gt;Hi Patrick,&lt;/p&gt;

&lt;p&gt;They are all not applied to ES5.2.&lt;/p&gt;</comment>
                            <comment id="365775" author="gerrit" created="Mon, 13 Mar 2023 18:24:01 +0000"  >&lt;p&gt;&quot;Andreas Dilger &amp;lt;adilger@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50278&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50278&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16579&quot; title=&quot;llite: Fix the wrong ending offset calculation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16579&quot;&gt;&lt;del&gt;LU-16579&lt;/del&gt;&lt;/a&gt; llite: fix the wrong beyond read end calculation&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_15&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 88e538a9c6f7444fde284960d56ed62d4f17cb3a&lt;/p&gt;</comment>
                            <comment id="366748" author="gerrit" created="Tue, 21 Mar 2023 23:10:46 +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/c/fs/lustre-release/+/50065/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50065/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16579&quot; title=&quot;llite: Fix the wrong ending offset calculation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16579&quot;&gt;&lt;del&gt;LU-16579&lt;/del&gt;&lt;/a&gt; llite: fix the wrong beyond read end calculation&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: ae356dc325877bd130ad94acc5f3610898de8a8a&lt;/p&gt;</comment>
                            <comment id="366776" author="pjones" created="Tue, 21 Mar 2023 23:29:15 +0000"  >&lt;p&gt;Landed for 2.16&lt;/p&gt;</comment>
                            <comment id="368984" author="gerrit" created="Tue, 11 Apr 2023 00:07:13 +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/c/fs/lustre-release/+/50278/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50278/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16579&quot; title=&quot;llite: Fix the wrong ending offset calculation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16579&quot;&gt;&lt;del&gt;LU-16579&lt;/del&gt;&lt;/a&gt; llite: fix the wrong beyond read end calculation&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_15&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 9c8a80bca738884e09affd66837b9e94508664d1&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="73678">LU-16412</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="73370">LU-16338</issuekey>
        </issuelink>
                            </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|i03eif:</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>