<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:32:42 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-3299] force lvb_data update after layout change</title>
                <link>https://jira.whamcloud.com/browse/LU-3299</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;When a file is restored the layout lock is first&lt;br/&gt;
associated with the released layout and after restore&lt;br/&gt;
it has to be associated with the new layout. This patch&lt;br/&gt;
forces lvb_data update in ll_layout_fetch() even if one&lt;br/&gt;
is present (case for released-&amp;gt;normal state change).&lt;/p&gt;</description>
                <environment></environment>
        <key id="18757">LU-3299</key>
            <summary>force lvb_data update after layout change</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="jay">Jinshan Xiong</assignee>
                                    <reporter username="cealustre">CEA</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Wed, 8 May 2013 20:30:58 +0000</created>
                <updated>Wed, 5 Aug 2020 13:32:56 +0000</updated>
                            <resolved>Tue, 18 Jun 2013 15:30:19 +0000</resolved>
                                    <version>Lustre 2.5.0</version>
                                    <fixVersion>Lustre 2.5.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="57944" author="bzzz" created="Wed, 8 May 2013 20:34:06 +0000"  >&lt;p&gt;I think we should stop using LVB for this purpose on the both sides.&lt;/p&gt;</comment>
                            <comment id="57945" author="jcl" created="Wed, 8 May 2013 20:42:31 +0000"  >&lt;p&gt;This is to track the bug we found when porting HSM to master (see &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3280&quot; title=&quot;when lock-&amp;gt;l_lvb_data is freed, LDLM_FL_LVB_READY is not cleared&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3280&quot;&gt;&lt;del&gt;LU-3280&lt;/del&gt;&lt;/a&gt;). The patch is at &lt;a href=&quot;http://review.whamcloud.com/6291&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/6291&lt;/a&gt;&lt;br/&gt;
No need to review yet, this is just to keep trace.&lt;/p&gt;</comment>
                            <comment id="58030" author="jlevi" created="Thu, 9 May 2013 17:31:48 +0000"  >&lt;p&gt;This is for 2.5&lt;/p&gt;</comment>
                            <comment id="59565" author="jay" created="Wed, 29 May 2013 18:16:09 +0000"  >&lt;p&gt;Hi Alex, what&apos;s wrong with using LVB to store layout here? From my understanding, it matches the semantics of LVB very well. Needless to say we have to use LVB_READY bit in ldlm lock.&lt;/p&gt;</comment>
                            <comment id="59567" author="bzzz" created="Wed, 29 May 2013 18:26:32 +0000"  >&lt;p&gt;I don&apos;t think it matches LVB well... and in my mind LDLM locking should be separated from storage access as much as possible. this gives us possibility to use different locking (or no locking) in different cases.&lt;br/&gt;
Like, for example, if I create a directory, hold an exclusive lock on that directory, I can create files in that directory locally, with no LDLM/MDC involved at all - all I need is to be able to get the layout as a regular extended attribute.&lt;br/&gt;
and I don&apos;t quite see why do we need LVB_READY given the layout can&apos;t fit LVB sometimes and we &lt;b&gt;have to&lt;/b&gt; use regular xattrget, which is correct and should be used for any size in general. the less special cases, the better.&lt;/p&gt;</comment>
                            <comment id="59572" author="jay" created="Wed, 29 May 2013 19:14:45 +0000"  >&lt;blockquote&gt;
&lt;p&gt; and in my mind LDLM locking should be separated from storage access as much as possible&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This is actually a very strong requirement. Servers own resources and if we want to cache it on the client, a lock is necessary. Resources are usually a state in persistent storage. For example, the resource of an extent lock is a set of disk blocks the extent covers. Ah maybe what you meant is to not access storage so that they must be in memory cache for DLM code path?&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;all I need is to be able to get the layout as a regular extended attribute.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;I agree.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;and I don&apos;t quite see why do we need LVB_READY given the layout can&apos;t fit LVB sometimes and we have to use regular xattrget, which is correct and should be used for any size in general. the less special cases, the better.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This is a good question. I think this is for optimization - the root of all evil. If we could preallocate all LVB buffer with maximum size, then it would fit. We don&apos;t do this because we don&apos;t want to waste so much memory.&lt;/p&gt;

&lt;p&gt;When you&apos;re writing if-clause in the code, actually you&apos;re having a special case, sigh &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;
</comment>
                            <comment id="59597" author="bzzz" created="Thu, 30 May 2013 03:01:24 +0000"  >&lt;p&gt;given frequency of layout changes I tend to think this is baraly visible optimization, to be honest.&lt;/p&gt;</comment>
                            <comment id="60812" author="jlevi" created="Tue, 18 Jun 2013 15:30:19 +0000"  >&lt;p&gt;Closing ticket since patch has landed to Master. PLease let me know if additional work is needed and I will reopen the ticket.&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_10040" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Epic</customfieldname>
                        <customfieldvalues>
                                        <label>client</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzvqgv:</customfieldvalue>

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