<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:33:37 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-10276] Revise what MDS_INODELOCK_XATTR protects</title>
                <link>https://jira.whamcloud.com/browse/LU-10276</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;&lt;tt&gt;MDS_INODELOCK_XATTR&lt;/tt&gt; has been protecting &lt;em&gt;all&lt;/em&gt; EAs of an inode since its introduction for client-side EA caching.  Because some EAs are used internally, the set of procedures contending for &lt;tt&gt;MDS_INODELOCK_XATTR&lt;/tt&gt; has went beyond &lt;tt&gt;SETXATTR, GETXATTR&lt;/tt&gt;.  A few examples:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;LINK&lt;/tt&gt;, &lt;tt&gt;UNLINK&lt;/tt&gt;, and &lt;tt&gt;RENAME&lt;/tt&gt; take &lt;tt&gt;MDS_INODELOCK_XATTR&lt;/tt&gt; for &lt;tt&gt;XATTR_NAME_LINK&lt;/tt&gt;.&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;HSM_STATE_SET&lt;/tt&gt;, &lt;tt&gt;mdt_hsm_release()&lt;/tt&gt;, &lt;tt&gt;mdt_add_dirty_flag()&lt;/tt&gt; take &lt;tt&gt;MDS_INODELOCK_XATTR&lt;/tt&gt; for &lt;tt&gt;XATTR_NAME_HSM&lt;/tt&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Some of these may have an unnecessary negative effect on client-side EA caching efficiency.&lt;/p&gt;

&lt;p&gt;We might want to consider removing internal EAs from the scope of &lt;tt&gt;MDS_INODELOCK_XATTR&lt;/tt&gt;.  Potential questions include:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Clients wouldn&apos;t be able to do &lt;tt&gt;listxattr()&lt;/tt&gt; completely from EA caches.  Would this affect any applications we care about?&lt;/li&gt;
	&lt;li&gt;How to handle older clients who assume &lt;tt&gt;MDS_INODELOCK_XATTR&lt;/tt&gt; protects all EAs?&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="28996">LU-10276</key>
            <summary>Revise what MDS_INODELOCK_XATTR protects</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="liwei">Li Wei</reporter>
                        <labels>
                    </labels>
                <created>Fri, 6 Mar 2015 03:10:02 +0000</created>
                <updated>Sat, 28 Oct 2023 07:46:51 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="390952" author="adilger" created="Sat, 28 Oct 2023 07:46:51 +0000"  >&lt;p&gt;It seems possible to store &quot;&lt;tt&gt;xe_value = ERR_PTR(-EREMOTE)&lt;/tt&gt;&quot; into the xattr cache to indicate that the xattr exists but the value is not in the cache.  That would at least allow &lt;tt&gt;listxattr()&lt;/tt&gt; from the client cache to work without having to cache all of the values.&lt;/p&gt;

&lt;p&gt;I&apos;ve also filed &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17238&quot; title=&quot;negative xattr cache on client&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17238&quot;&gt;LU-17238&lt;/a&gt; to implement a proper negative xattr cache that would store &quot;&lt;tt&gt;xe_value = ERR_PTR(-ENODATA)&lt;/tt&gt;&quot; to indicate that the requested name does not exist.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="17700">LU-2869</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="78646">LU-17238</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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|hzx7tz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>17754</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>