<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:53:22 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-12526] Auto attach for PCC during IO</title>
                <link>https://jira.whamcloud.com/browse/LU-12526</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;PCC uses the layout lock to protect the cache validity. Currently PCC only supports auto attach at the next open. However, the layout lock can be revoked at any time by LRU/manual lock shrinking or lock conflict callback.&lt;/p&gt;

&lt;p&gt;For example, the layout lock can be revoked when perform I/Os after open the file. At this time, the cached file will be detached&#160;involuntary. The I/O originally directed into PCC will redirect to OSTs after the data restore into OSTs&apos; objects. This cost of this unwilling behavior may be expensive.&lt;/p&gt;

&lt;p&gt;To avoid this problem, it is necessary to implement auto attach for PCC even during IOs (not only at the open time).&lt;/p&gt;

&lt;p&gt;And auto attach should be enabled by default.&lt;/p&gt;</description>
                <environment></environment>
        <key id="56299">LU-12526</key>
            <summary>Auto attach for PCC during IO</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="56799">LU-12714</parent>
                                    <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>
                    </labels>
                <created>Tue, 9 Jul 2019 14:01:49 +0000</created>
                <updated>Sun, 27 Oct 2019 13:34:58 +0000</updated>
                            <resolved>Sun, 27 Oct 2019 13:34:58 +0000</resolved>
                                                    <fixVersion>Lustre 2.13.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="250895" author="pfarrell" created="Tue, 9 Jul 2019 14:30:04 +0000"  >&lt;p&gt;I thought Oleg&apos;s suggestion was for the PCC case to hold the layout lock during I/O - Is that not practical?&lt;/p&gt;</comment>
                            <comment id="250897" author="qian_wc" created="Tue, 9 Jul 2019 14:53:23 +0000"  >&lt;p&gt;Currently the layout locks are maintained in a LRU way. They can be shrinking at any time according to the client or server lock load...&lt;/p&gt;

&lt;p&gt;&#160;If keep holding the layout lock during I/O like the lease lock (not in lock LRU list), &#160;even only for PCC case, it may cause many locks caching on the clients and servers, which will result in memory pressure.&lt;/p&gt;</comment>
                            <comment id="250898" author="qian_wc" created="Tue, 9 Jul 2019 14:57:15 +0000"  >&lt;p&gt;And Current problem is that many other ibits locks (PERM and UPDATE) are binding with the layout lock. The can cancellation of other ibits lock may revoke the layout lock also.&lt;/p&gt;</comment>
                            <comment id="250901" author="pfarrell" created="Tue, 9 Jul 2019 15:30:05 +0000"  >&lt;p&gt;Hmm, but I&apos;m basically just suggesting you hold it during I/O.&#160; Not all the time.&#160; If you&apos;re doing I/O to a file, it&apos;s not unreasonable to have a lock on it nor is it wasteful of memory.&lt;/p&gt;

&lt;p&gt;In order to do I/O in the normal Lustre path, you have to take the layout lock for read before doing I/O.&#160; You don&apos;t hold it across the I/O (and you can&apos;t do so safely because your I/O might cause layout changes, requiring the lock).&#160; But PCC doesn&apos;t cause those kinds of layout changes (which are FLR/PFL layout updates, basically), I think?&lt;/p&gt;

&lt;p&gt;So you could take the layout lock for read before I/O, and hold it across I/O.&#160; If the other bits conflict, then the lock will be cancelled once your I/O is over, and you will ask for a new lock on the next I/O, with just the layout bit in it.&#160; You will have to be careful about it, but it seems simpler than implementing attach during I/O.&lt;/p&gt;

&lt;p&gt;Maybe I am wrong - I can&apos;t see how attach during I/O would work, but I assume you have a plan.&#160; Perhaps it is simpler than it sounds?&lt;/p&gt;</comment>
                            <comment id="250998" author="gerrit" created="Thu, 11 Jul 2019 11:56:27 +0000"  >&lt;p&gt;Yingjin Qian (qian@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/35468&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35468&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12526&quot; title=&quot;Auto attach for PCC during IO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12526&quot;&gt;&lt;del&gt;LU-12526&lt;/del&gt;&lt;/a&gt; pcc: Auto attach for PCC during IO&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: pcc&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 5c969003b6899f2449095f321715cad1b1d98918&lt;/p&gt;</comment>
                            <comment id="250999" author="qian_wc" created="Thu, 11 Jul 2019 12:09:07 +0000"  >&lt;p&gt;Hi Patrick,&lt;/p&gt;

&lt;p&gt;Implementing attach during IO is not very hard, please see the patch above.&lt;/p&gt;</comment>
                            <comment id="253920" author="gerrit" created="Fri, 30 Aug 2019 10:08:49 +0000"  >&lt;p&gt;Yingjin Qian (qian@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/36005&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/36005&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12526&quot; title=&quot;Auto attach for PCC during IO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12526&quot;&gt;&lt;del&gt;LU-12526&lt;/del&gt;&lt;/a&gt; pcc: Auto attach for PCC during IO&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 5a87571254c5ed4515a5971a583a5c90502980a5&lt;/p&gt;</comment>
                            <comment id="257143" author="gerrit" created="Sun, 27 Oct 2019 04:18:22 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/36005/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/36005/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12526&quot; title=&quot;Auto attach for PCC during IO&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12526&quot;&gt;&lt;del&gt;LU-12526&lt;/del&gt;&lt;/a&gt; pcc: Auto attach for PCC during IO&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: a120bb13525727654713f008ffcaf0e3aec7cb65&lt;/p&gt;</comment>
                            <comment id="257152" author="pjones" created="Sun, 27 Oct 2019 13:34:58 +0000"  >&lt;p&gt;Landed for 2.13&lt;/p&gt;</comment>
                    </comments>
                    <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|i00jdr:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>