<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:33:17 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-17177] prevent DoM read-on-open with FLR</title>
                <link>https://jira.whamcloud.com/browse/LU-17177</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;DoM read-on-open feature fetch some data from MDT stripe during file open. Meanwhile that is happening always when it sees data on MDT without regards to actual mirror states. That can cause at least useless reads from non-active mirror, at worse stale data read.&lt;/p&gt;

&lt;p&gt;Considering that the following changes are proposed:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;no read-on-open data prefetch for FLR file&lt;/li&gt;
	&lt;li&gt;no DoM lock/size returned if DoM component has stale FLR flag&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;thus we avoid potential problems and doesn&apos;t lose significant benefits, in most cases mirrored file is not having any real performance gain from read-on-open.&lt;/p&gt;</description>
                <environment></environment>
        <key id="78313">LU-17177</key>
            <summary>prevent DoM read-on-open with FLR</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="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="tappro">Mikhail Pershin</assignee>
                                    <reporter username="tappro">Mikhail Pershin</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Oct 2023 09:34:20 +0000</created>
                <updated>Thu, 19 Oct 2023 09:43:11 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="388626" author="gerrit" created="Tue, 10 Oct 2023 10:14:43 +0000"  >&lt;p&gt;&quot;Mikhail Pershin &amp;lt;mpershin@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52613&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52613&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17177&quot; title=&quot;prevent DoM read-on-open with FLR&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17177&quot;&gt;LU-17177&lt;/a&gt; mdt: prevent read-on-open for FLR file&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 350b8904fb3504697944db82e00380c26397caba&lt;/p&gt;</comment>
                            <comment id="389881" author="tappro" created="Thu, 19 Oct 2023 09:43:11 +0000"  >&lt;p&gt;During patch review Andreas has mentioned:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;My preference is to avoid disabling this feature/optimization to handle a rare use case. I don&apos;t think it matters which mirror the pages are attached to, if the source is not stale. &lt;br/&gt;
Definitely the DoM data should not be returned if that component is marked stale, but otherwise it should be returned to the client and attached to any mirror.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;That is also possible way to go, but it has to avoid &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16468&quot; title=&quot;some miscellaneous IOs need to protect accessing layout&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16468&quot;&gt;&lt;del&gt;LU-16468&lt;/del&gt;&lt;/a&gt; issue which happenned due to missing &lt;tt&gt;lov_io_mirror_init()&lt;/tt&gt; I think. So far I see two possibilities:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;remove &lt;tt&gt;ci_ignore_layout&lt;/tt&gt; in &lt;tt&gt;ll_dom_finish_open()&lt;/tt&gt; for&#160;&lt;tt&gt;CIT_MISC&lt;/tt&gt; IO, thus &lt;tt&gt;lov_io_mirror_init()&lt;/tt&gt; will be not skipped in &lt;tt&gt;lov_io_slice_init()&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;keep that flag but do &lt;tt&gt;lov_io_mirror_init()&lt;/tt&gt; always, with and without that flag&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Initially that &lt;tt&gt;ci_ignore_layout&lt;/tt&gt; was used to prevent &lt;tt&gt;layout_refresh()&lt;/tt&gt; call while caller is under live layout lock, so it can reveal potential deadlock. That doesn&apos;t look so from code, it should match existing lock and proceed but still that flag removal need extra tests, racer probably. On other hand, including &lt;tt&gt;lov_io_mirror_init()&lt;/tt&gt; to be called with &apos;ignore_layout&apos;&#160; flag can be not safe too, when MISC IO is started from OSC&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="73976">LU-16468</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|i03xvr:</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>