<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:33:47 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-17239] statahead to detect and fetch xattrs</title>
                <link>https://jira.whamcloud.com/browse/LU-17239</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;I was running &quot;&lt;tt&gt;ls&lt;/tt&gt;&quot; on a directory and checked &quot;{{mds.&lt;br/&gt;
*.job_stats}}&quot; and saw that while all of the &lt;tt&gt;getattr&lt;/tt&gt; RPCs were being sent to the MDS by a statahead thread, the main &quot;&lt;tt&gt;ls&lt;/tt&gt;&quot; process was still sending an equal number of &quot;&lt;tt&gt;getxattr&lt;/tt&gt;&quot; RPCs to the MDS, which is almost certainly losing a lot of the benefit from the statahead operations since the &quot;&lt;tt&gt;ls&lt;/tt&gt;&quot; s.&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;- job_id:   ls.0
  snapshot_time:   1698469885
  close:    { samples:     1, unit: usecs, min: 69, max:  69, sum:     69, sumsq:     4761 }
  getattr:  { samples:     1, unit: usecs, min:  9, max:   9, sum:      9, sumsq:       81 }
  getxattr: { samples: 24199, unit: usecs, min:  3, max:  31, sum: 121306, sumsq:   639108 }
- job_id:   ll_sa_350160.0
  snapshot_time:   1698469885
  getattr:  { samples: 24199, unit: usecs, min:  4, max: 969, sum: 218406, sumsq: 24834274 }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The &quot;&lt;tt&gt;ls&lt;/tt&gt;&quot; was calling &lt;tt&gt;getxattr()&lt;/tt&gt; and &lt;tt&gt;lgetxattr()&lt;/tt&gt; on each of the files:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;statx(AT_FDCWD, &quot;/myth/tv/2005_20171130055700.mpg.png&quot;, AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_MODE|STATX_NLINK|STATX_UID|STATX_GID|STATX_MTIME|STATX_SIZE, {stx_mask=STATX_MODE|STATX_NLINK|STATX_UID|STATX_GID|STATX_MTIME|STATX_SIZE, stx_attributes=0, stx_mode=S_IFREG|0666, stx_size=270222, ...}) = 0
lgetxattr(&quot;/myth/tv/2005_20171130055700.mpg.png&quot;, &quot;security.selinux&quot;, &quot;system_u:object_r:httpd_sys_cont&quot;..., 255) = 41
getxattr(&quot;/myth/tv/2005_20171130055700.mpg.png&quot;, &quot;system.posix_acl_access&quot;, NULL, 0) = -1 ENODATA (No data available)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In some cases, the xattrs will be fetched along with the inode attributes, but if there are a lot of &lt;tt&gt;MDS_GETXATTR&lt;/tt&gt; RPCs being sent for cache misses, then the statahead threads should also prefetch these xattrs to the client.&lt;/p&gt;</description>
                <environment></environment>
        <key id="78647">LU-17239</key>
            <summary>statahead to detect and fetch xattrs</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="adilger">Andreas Dilger</reporter>
                        <labels>
                    </labels>
                <created>Sat, 28 Oct 2023 07:42:33 +0000</created>
                <updated>Sat, 28 Oct 2023 07:59:07 +0000</updated>
                                            <version>Lustre 2.14.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="78646">LU-17238</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|i03zwf:</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>
                                                                                            <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>