<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:28:15 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-16581] osd_xattr_get() is much more expensive with zfs</title>
                <link>https://jira.whamcloud.com/browse/LU-16581</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;just noticed that sanity/103e takes significantly longer with ZFS. there are number of contributors, but I found one especially interesting:&lt;br/&gt;
ldiskfs:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;attr_get                  36535 samples [usecs] 0 80 1085 9093&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;zfs:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;attr_get                  36537 samples [usecs] 0 20790 750797 1636365521&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;i.e. osd_attr_get() (called on a directory) is 692 times slower than ldiskfs version.&lt;/p&gt;

&lt;p&gt;it&apos;s used only in mdt_attr_get_internal():&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (ma-&amp;gt;ma_attr.la_dirent_count != LU_DIRENT_COUNT_UNSET &amp;amp;&amp;amp;
		    ma-&amp;gt;ma_attr.la_dirent_count &amp;gt;
			mdt-&amp;gt;mdt_restriper.mdr_dir_split_count &amp;amp;&amp;amp;
		    !fid_is_root(mdt_object_fid(o)) &amp;amp;&amp;amp;
		    mdt-&amp;gt;mdt_enable_dir_auto_split &amp;amp;&amp;amp;
		    !o-&amp;gt;mot_restriping &amp;amp;&amp;amp;
		    stripe_count &amp;lt; atomic_read(&amp;amp;mdt-&amp;gt;mdt_mds_mds_conns) + 1 &amp;amp;&amp;amp;
		    !fixed_layout)
			mdt_auto_split_add(info, o);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and only to check whether (re)striping is needed.&lt;br/&gt;
I find it suboptimal that:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;OSD needs to calculate la_dirent_count for every directory&lt;/li&gt;
	&lt;li&gt;we do this every getattr&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="74758">LU-16581</key>
            <summary>osd_xattr_get() is much more expensive with zfs</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="bzzz">Alex Zhuravlev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 Feb 2023 18:45:51 +0000</created>
                <updated>Mon, 20 Feb 2023 20:21:45 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                    <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|i03elb:</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>