<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:17:59 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-15399] Don&apos;t restart CLI IO for IOCB_NOWAIT direct IO</title>
                <link>https://jira.whamcloud.com/browse/LU-15399</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;
&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; cl_io_loop(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_env *env, struct cl_io *io)
{
	&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; result = 0;
	&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; rc = 0;

       ...
      &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (result == -EAGAIN &amp;amp;&amp;amp; io-&amp;gt;ci_ndelay) {
		io-&amp;gt;ci_need_restart = 1;
		result = 0;
	}

	&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (result == 0)
		result = io-&amp;gt;ci_result;
	RETURN(result &amp;lt; 0 ? result : 0);
}
EXPORT_SYMBOL(cl_io_loop);
&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;
ssize_t
generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
{
...
           &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (iocb-&amp;gt;ki_flags &amp;amp; IOCB_NOWAIT) {
			&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (filemap_range_has_page(mapping, iocb-&amp;gt;ki_pos,
						   iocb-&amp;gt;ki_pos + count - 1))
				&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; -EAGAIN;
               ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We should handle FLR mirror retry and io_uring IOCB_NOWAIT differently.&lt;/p&gt;

&lt;p&gt;In the current code, it will restart the I/O engine loop when get -EAGAIN return code.&lt;br/&gt;
When io_uring with IOCB_NOWAIT flags and found there are page cache in the I/O range, we should return the -EAGAIN to the caller immediately.&lt;br/&gt;
Otherwise, it will Stuck in an endless loop&#12290;&lt;/p&gt;
</description>
                <environment></environment>
        <key id="67741">LU-15399</key>
            <summary>Don&apos;t restart CLI IO for IOCB_NOWAIT direct IO</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="qian_wc">Qian Yingjin</assignee>
                                    <reporter username="qian_wc">Qian Yingjin</reporter>
                        <labels>
                            <label>MON</label>
                    </labels>
                <created>Mon, 27 Dec 2021 03:14:06 +0000</created>
                <updated>Mon, 27 Nov 2023 11:15:35 +0000</updated>
                            <resolved>Mon, 11 Jul 2022 13:01:43 +0000</resolved>
                                                    <fixVersion>Lustre 2.16.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="322885" author="gerrit" created="Mon, 17 Jan 2022 07:21:25 +0000"  >&lt;p&gt;&quot;Yingjin Qian &amp;lt;qian@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/46147&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46147&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15399&quot; title=&quot;Don&amp;#39;t restart CLI IO for IOCB_NOWAIT direct IO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15399&quot;&gt;&lt;del&gt;LU-15399&lt;/del&gt;&lt;/a&gt; llite: dont restart directIO with IOCB_NOWAIT&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 07d7db274e9f906d77274298d83775425cab8f3a&lt;/p&gt;</comment>
                            <comment id="340013" author="gerrit" created="Mon, 11 Jul 2022 06:50:09 +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/46147/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46147/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15399&quot; title=&quot;Don&amp;#39;t restart CLI IO for IOCB_NOWAIT direct IO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15399&quot;&gt;&lt;del&gt;LU-15399&lt;/del&gt;&lt;/a&gt; llite: dont restart directIO with IOCB_NOWAIT&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 8db455c77265063a10a9d08147b8fd4ed20c59c4&lt;/p&gt;</comment>
                            <comment id="340045" author="pjones" created="Mon, 11 Jul 2022 13:01:43 +0000"  >&lt;p&gt;Landed for 2.16&lt;/p&gt;</comment>
                            <comment id="394294" author="gerrit" created="Mon, 27 Nov 2023 11:15:35 +0000"  >&lt;p&gt;&quot;Etienne AUJAMES &amp;lt;eaujames@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/53246&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53246&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15399&quot; title=&quot;Don&amp;#39;t restart CLI IO for IOCB_NOWAIT direct IO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15399&quot;&gt;&lt;del&gt;LU-15399&lt;/del&gt;&lt;/a&gt; llite: dont restart directIO with IOCB_NOWAIT&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_15&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: ebb2ac34de76fa43bd1de44de712f34362117ece&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="71032">LU-15994</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </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|i02da7:</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>