<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:05:34 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-287] race in glimpse size</title>
                <link>https://jira.whamcloud.com/browse/LU-287</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;It looks to me there is a race in the size glimpse: &lt;/p&gt;

&lt;p&gt;When a client received glimpse callback, it get the lock by ldlm_handle2lock_ns() in ldlm_callback_handler(), and just before calling the ll_glimpse_callback(), this lock is happen to be canceled locally, and the kms is shrinked on cancel, then ll_glimpse_callback() will tell server a wrong size (less than actual size).&lt;/p&gt;

&lt;p&gt;Actually, we already have a flag (i.e. LDLM_FL_KMS_IGNORE) to notify that kms is being updated because the lock is being cancelled. We could just check for this flag in ll_glimpse_callback()and return EINVAL to the glimpse. The server should then update the LVB from disk and get the right object size since kms is updated on the client once all dirty data has been pushed to the server already.&lt;/p&gt;</description>
                <environment></environment>
        <key id="10759">LU-287</key>
            <summary>race in glimpse size</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="niu">Niu Yawei</assignee>
                                    <reporter username="niu">Niu Yawei</reporter>
                        <labels>
                    </labels>
                <created>Fri, 6 May 2011 09:10:56 +0000</created>
                <updated>Fri, 19 Aug 2011 17:15:39 +0000</updated>
                            <resolved>Mon, 13 Jun 2011 14:21:32 +0000</resolved>
                                    <version>Lustre 1.8.6</version>
                                    <fixVersion>Lustre 1.8.6</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="13911" author="jay" created="Fri, 6 May 2011 14:28:07 +0000"  >&lt;p&gt;I tend to think this should be a safe race because anyway ldlm_server_glimpse_ast() will update lvb size by calling filter_lvbo_update() with @increase_only setting to 1. That means at the end of filter_intent_policy() the uptodate size will be returned to client eventually. Am I missed anything?&lt;/p&gt;</comment>
                            <comment id="13914" author="niu" created="Fri, 6 May 2011 17:57:40 +0000"  >&lt;p&gt;Hi, Xiong&lt;/p&gt;

&lt;p&gt;In such race, glimpse callback will success and the wrong size (less than actual size) will be sent back to server, and on server, ldlm_server_glimpse_ast() calls ldlm_res_lvbo_update(res, req, 1) to update LVB by this wrong size. Please note that the inode size on server hasn&apos;t been updated to LVB yet.&lt;/p&gt;</comment>
                            <comment id="15250" author="niu" created="Tue, 31 May 2011 01:28:54 +0000"  >&lt;p&gt;2.x (master code) doesn&apos;t have this race, because the kms is always shrinked after ldlm_lock-&amp;gt;l_ast_data detached.&lt;/p&gt;</comment>
                            <comment id="16094" author="pjones" created="Mon, 13 Jun 2011 14:21:32 +0000"  >&lt;p&gt;As per last comment, not an issue&lt;/p&gt;</comment>
                            <comment id="16183" author="niu" created="Mon, 13 Jun 2011 20:56:19 +0000"  >&lt;p&gt;It&apos;s not an issue for 2.x, the patch for b1_8 is at &lt;a href=&quot;http://review.whamcloud.com/#change,512&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,512&lt;/a&gt; . It&apos;s not landed yet.&lt;/p&gt;</comment>
                            <comment id="19446" author="spitzcor" created="Fri, 19 Aug 2011 17:15:39 +0000"  >&lt;p&gt;Is &lt;a href=&quot;http://review.whamcloud.com/#change,512&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,512&lt;/a&gt; intended to land on b1_8?&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|hzw1jz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10333</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>