<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:23:09 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-16004] Blocking callback for already cancelling lock that would have no IO</title>
                <link>https://jira.whamcloud.com/browse/LU-16004</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;It looks like when we have blocking callback come for a lock that is already undergoing canceling (canceling bit is set), we just tell the server &quot;hey, we got your request, we&apos;ll get back to you&quot; and then wait for the cancel procedure to finish.&lt;/p&gt;

&lt;p&gt;But while this makes sense for a lock that is stuck doing e.g. writeout of pages, sometimes locks are stuck as canceling because they are caught in lru cleanup or whatever other reasons (which seems particularly common when the server latency is high).&lt;/p&gt;

&lt;p&gt;It looks like returning EINVAL for such locks (as if it was already fully canceled and the AST just lost the race) for PR/CR and also potentially PW locks with discard dirty data flag set (though this one is tricky since the writeout might have been originated already before this flag was delivered? perhaps once we have server side enforcement of valid lock coverage and rejecting all writes without a lock that&apos;d be safe?) would speed up other clients that wanted to get this lock to do whatever it is they need doing.&lt;/p&gt;

&lt;p&gt;Extra wrinkle here is that the ldlm_handle_bl_callback() is called after we ship the reply so some additional potentially not very trivial code rearrangement might need to happen to make such a reply feasible unless we just do it simplistically upfront once the lock handle to lock was matched.&lt;/p&gt;</description>
                <environment></environment>
        <key id="71087">LU-16004</key>
            <summary>Blocking callback for already cancelling lock that would have no IO</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</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="wc-triage">WC Triage</assignee>
                                    <reporter username="green">Oleg Drokin</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Jul 2022 06:16:20 +0000</created>
                <updated>Mon, 22 Jan 2024 16:29:35 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="340076" author="adilger" created="Mon, 11 Jul 2022 16:54:35 +0000"  >&lt;p&gt;Is this really a major win?  The only time that discard dirty is used is when the object is being deleted, so there shouldn&apos;t be much contention on that lock...  I guess it would speed up the &lt;b&gt;other&lt;/b&gt; writers if the data was being deleted, but I&apos;m not sure if this happens often enough to make a difference?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="80133">LU-17446</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|i02u7z:</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>