<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:13:58 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-8025] ll_direct_io code introduced in LU-6260 is based on 2.4/2.5, ignores LU-1669</title>
                <link>https://jira.whamcloud.com/browse/LU-8025</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The patch for ll_direct_(io/IO_26) we got from Al Viro is based on the 2.4-2.5 code, and reverts several of the changes made by &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1669&quot; title=&quot;lli-&amp;gt;lli_write_mutex (single shared file performance)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1669&quot;&gt;&lt;del&gt;LU-1669&lt;/del&gt;&lt;/a&gt; to the direct IO path. It seems we took his version without noting that important changes had been made in that function.&lt;/p&gt;

&lt;p&gt;The i_mutex, for example, no longer provides the expected protection.&lt;/p&gt;

&lt;p&gt;Thankfully for older kernels we left the updated code alone, but the code we call for 3.16 kernels is definitely wrong and needs to be updated to match current Lustre. It seems we need to take more care when forward/side-porting from the upstream kernels.&lt;/p&gt;

&lt;p&gt;Unfortunately, I won&apos;t be able to provide a patch for this.  If correct direct IO behavior on 3.16 and newer kernels is important to someone, fixing it shouldn&apos;t be too hard - Just look at the code that follows:&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;else&lt;/span&gt; &lt;span class=&quot;code-comment&quot;&gt;/* !HAVE_DIRECTIO_ITER &amp;amp;&amp;amp; !HAVE_IOV_ITER_RW */&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;in lustre/llite/rw26.c, and re-write the code above it to have the same approach to locking.  Looking at the &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6260&quot; title=&quot;more support for 3.16 linux kernel&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6260&quot;&gt;&lt;del&gt;LU-6260&lt;/del&gt;&lt;/a&gt; patch may help:&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/#/c/14665/9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/14665/9&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="36156">LU-8025</key>
            <summary>ll_direct_io code introduced in LU-6260 is based on 2.4/2.5, ignores LU-1669</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="wc-triage">WC Triage</assignee>
                                    <reporter username="paf">Patrick Farrell</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Apr 2016 19:48:28 +0000</created>
                <updated>Thu, 23 Feb 2017 21:18:58 +0000</updated>
                            <resolved>Fri, 2 Sep 2016 04:40:20 +0000</resolved>
                                    <version>Lustre 2.7.0</version>
                    <version>Lustre 2.8.0</version>
                                    <fixVersion>Lustre 2.9.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="150434" author="gerrit" created="Thu, 28 Apr 2016 02:05:40 +0000"  >&lt;p&gt;James Simmons (uja.ornl@yahoo.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/19840&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/19840&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8025&quot; title=&quot;ll_direct_io code introduced in LU-6260 is based on 2.4/2.5, ignores LU-1669&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8025&quot;&gt;&lt;del&gt;LU-8025&lt;/del&gt;&lt;/a&gt; llite: make vvp_io_write_start lockless for newer kernels&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 1ac869430759817b29c2d6ac4b4939e369fc3e44&lt;/p&gt;</comment>
                            <comment id="162896" author="simmonsja" created="Tue, 23 Aug 2016 20:37:19 +0000"  >&lt;p&gt;dmesg output from the failed RHEL7 sanityn 77a run.&lt;/p&gt;</comment>
                            <comment id="164737" author="gerrit" created="Fri, 2 Sep 2016 02:22:49 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/19840/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/19840/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8025&quot; title=&quot;ll_direct_io code introduced in LU-6260 is based on 2.4/2.5, ignores LU-1669&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8025&quot;&gt;&lt;del&gt;LU-8025&lt;/del&gt;&lt;/a&gt; llite: make vvp_io_write_start lockless for newer kernels&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: f38911bc6a0e472e43b901bcb8ab74fc36c4e1e1&lt;/p&gt;</comment>
                            <comment id="164763" author="pjones" created="Fri, 2 Sep 2016 04:40:20 +0000"  >&lt;p&gt;Landed for 2.9&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="15301">LU-1669</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="28577">LU-6215</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="37013">LU-8162</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="40220">LU-8656</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="22728" name="inode_lock.log" size="90845" author="simmonsja" created="Tue, 23 Aug 2016 20:37:19 +0000"/>
                    </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|hzy83z:</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>