<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:25:39 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-2490] mdd_links_rename error seen on Grove test MDS</title>
                <link>https://jira.whamcloud.com/browse/LU-2490</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;I just updated our Grove Test MDS to &lt;tt&gt;2.3.57-1chaos&lt;/tt&gt; and noticed the following error which I have not seen before. Is this something to be alarmed about?&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;2012-12-13 11:06:39 LustreError: 33478:0:(mdd_dir.c:2750:mdd_links_rename()) link_ea add &apos;simul_link.109&apos; failed -75 [0x20001c38b:0xaa88:0x0]
2012-12-13 11:06:39 LustreError: 33348:0:(mdd_dir.c:2750:mdd_links_rename()) link_ea add &apos;simul_link.357&apos; failed -75 [0x20001c38b:0xaa88:0x0]
2012-12-13 11:06:39 LustreError: 33226:0:(mdd_dir.c:2754:mdd_links_rename()) link_ea del &apos;simul_link.1&apos; failed -2 [0x20001c38b:0xaa88:0x0]
2012-12-13 11:06:39 LustreError: 33226:0:(mdd_dir.c:2754:mdd_links_rename()) link_ea del &apos;simul_link.2&apos; failed -2 [0x20001c38b:0xaa88:0x0]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="16927">LU-2490</key>
            <summary>mdd_links_rename error seen on Grove test MDS</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="bzzz">Alex Zhuravlev</assignee>
                                    <reporter username="prakash">Prakash Surya</reporter>
                        <labels>
                            <label>MB</label>
                            <label>shh</label>
                            <label>topsequoia</label>
                    </labels>
                <created>Thu, 13 Dec 2012 14:11:58 +0000</created>
                <updated>Sat, 22 Dec 2012 00:41:24 +0000</updated>
                            <resolved>Sat, 22 Dec 2012 00:41:24 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="49204" author="prakash" created="Thu, 13 Dec 2012 15:49:39 +0000"  >&lt;p&gt;I&apos;m bumping the priority to &quot;Blocker&quot; as I&apos;m seeing this constantly since upgrading the MDS. I haven&apos;t rebooted the OSTs yet, not sure if that&apos;s signifcant.&lt;/p&gt;</comment>
                            <comment id="49231" author="pjones" created="Thu, 13 Dec 2012 22:39:23 +0000"  >&lt;p&gt;Alex &lt;/p&gt;

&lt;p&gt;Could you pleae comment?&lt;/p&gt;

&lt;p&gt;thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="49254" author="adilger" created="Fri, 14 Dec 2012 15:25:41 +0000"  >&lt;p&gt;The &quot;-79&quot; error is &quot;-EOVERFLOW&quot;, which is returned if the number of hard links to a file exceed LINKEA_MAX_COUNT (hard-coded at 128 currently).  That is the upper limit of linkEA entries on a file that are recorded in the inode, to avoid consuming all of the xattr space and potentially making the update of hard-linked files slow.&lt;/p&gt;

&lt;p&gt;Definitely the CERROR() messages here should be turned to CDEBUG(), and ideally also improved to be in the standard format &quot;device: message: rc = %d\n&quot;.&lt;/p&gt;

&lt;p&gt;As part of the LFSCK 1.5 project, a larger number of linkEA entries will be allowed (depending on whether the the &quot;large_xattr&quot; feature is enabled to allow a larger max xattr size).&lt;/p&gt;</comment>
                            <comment id="49255" author="adilger" created="Fri, 14 Dec 2012 15:27:53 +0000"  >&lt;p&gt;PS - except for &quot;simul&quot;, are there any real-world cases where files have more than 128 hard links?  In all of the data at &lt;a href=&quot;http://www.pdsi-scidac.org/fsstats/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.pdsi-scidac.org/fsstats/&lt;/a&gt; (and similar data sent to me privately) this basically never happened.&lt;/p&gt;</comment>
                            <comment id="49287" author="bzzz" created="Mon, 17 Dec 2012 01:51:04 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/4838&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/4838&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="49317" author="prakash" created="Mon, 17 Dec 2012 13:09:48 +0000"  >&lt;p&gt;Thanks for the explanation and patch. As far as &quot;real&quot; usage, I have no idea if we have files with more than 128 hard links. That seems like a very obscure use case, but I have no evidence if users are doing this or not.&lt;/p&gt;</comment>
                            <comment id="49318" author="prakash" created="Mon, 17 Dec 2012 13:11:21 +0000"  >&lt;p&gt;Chris, do you know if we have any users with files with more than 128 hard links?&lt;/p&gt;</comment>
                            <comment id="49325" author="morrone" created="Mon, 17 Dec 2012 14:09:39 +0000"  >&lt;p&gt;I hope not. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.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;

&lt;p&gt;Lustre didn&apos;t used to have this limit though, that is new.  If that isn&apos;t going to change, we&apos;ll need to change either simul or our use of simul (exclude that test, or make the test failure just a warning).  I don&apos;t suppose there is a way for a user-space application to query this limit?&lt;/p&gt;</comment>
                            <comment id="49346" author="adilger" created="Mon, 17 Dec 2012 19:03:52 +0000"  >&lt;p&gt;There isn&apos;t a new limit on the number of hard links to a single file - it remains 65000 for ldiskfs, and 2^32-1 for ZFS.  The limit is only for the number of reverse name entries for a single file, stored in the &quot;link&quot; xattr.  This is useful for &lt;tt&gt;lfs fid2path&lt;/tt&gt; to generate pathnames from a FID for error reporting or lustre_rsync.&lt;/p&gt;

&lt;p&gt;Beyond the 128 hard link count, the reverse links are dropped, though not as silently as they should be.  The limit is due to efficiency - since an xattr is completely searched and rewritten for each link added and removed, it gets into an O(n^2) behaviour if there are too many reverse links.  Keeping 128 links was decided as an acceptable real-world usage, and for cases like simul or similar it will still work with lots of links.  I think we&apos;re increasing the hard link limit in the &quot;link&quot; xattr as part of the LFSCK changes, because we now allow large xattrs, but I don&apos;t see it ever being unlimited due to O(n^2) slowdowns for updating the xattr.&lt;/p&gt;

&lt;p&gt;While it isn&apos;t directly relevant given the above comments, it &lt;em&gt;is&lt;/em&gt; possible to query the hard link limit for a filesystem via pathconf(3).  Unfortunately this is actually emulated in glibc by statfs() checking the filesystem magic and returning a hard-coded value.  It does not get the value from the kernel, so it isn&apos;t possible to get the real limit (i.e. it isn&apos;t pathconf(2) like it is on MacOS).  Until very recently, pathconf(3) on Lustre returned the &quot;I don&apos;t recognize this filesystem magic, so let&apos;s guess 128 hard links&quot; minimum for POSIX.  I finally figured out that this was a glibc problem, and sent a patch to the maintainer to increase the limit to 65000 for Lustre, but it will never be able to return 2^32-1 for a ZFS-backed MDT.  It might even be in RHEL 6.latest, but is definitely in RHEL7.&lt;/p&gt;</comment>
                            <comment id="49510" author="morrone" created="Thu, 20 Dec 2012 18:13:22 +0000"  >&lt;p&gt;Thank you for the explanation!  That optimization sounds reasonable.  I doubt there will be many (any?) legitimate uses of more than 128 hard links to a single file.  So if we get the console messages silenced, it sounds like we&apos;ll be fine.&lt;/p&gt;</comment>
                            <comment id="49589" author="pjones" created="Sat, 22 Dec 2012 00:41:24 +0000"  >&lt;p&gt;Landed for 2.4&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|hzvdt3:</customfieldvalue>

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