<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:25:02 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-9309] Add ldiskfs 64-bit inode number support</title>
                <link>https://jira.whamcloud.com/browse/LU-9309</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;With current hardware clusters faced with the trouble of creating enough inodes on LDISKFS partitions. MDS has 0-size files to store some information about Lustre FS files. Current MDS disk sizes allow to store large amount of such files, but EXT4 limits this number to ~4 billions. &lt;br/&gt;
Lustre FS has features like DNE to distribute MDS over many targets (disks), but disks are used  not effectively. It would be great to have ability to store more then  ~4 billions inodes on one EXT4 file system.&lt;/p&gt;

&lt;p&gt;This topic (&quot;64-bit inode number&quot;) recently was discussed in ext4 list. The resume is:&lt;/p&gt;

&lt;p&gt;There are two possible solutions:&lt;br/&gt;
1. Store higher 32 bit of inode number in ext4 dirent&lt;br/&gt;
2. New feature flag which defines the use a 64-bit inode number&lt;/p&gt;

&lt;p&gt;Andreas Dilger gave strong reasons to use 1st solution:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The reasons are:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;this won&apos;t use more space for 64-bit inodes than ext4_dir_entry64&lt;/li&gt;
	&lt;li&gt;for 32-bit inode numbers will have smaller dirents&lt;/li&gt;
	&lt;li&gt;significantly more 32-bit dirents can fit into a leaf block (i.e. 10-25%)&lt;/li&gt;
	&lt;li&gt;it is backwards compatible with existing directories and can transparently store 64-bit inode numbers into 32-bit directories without a full update&lt;/li&gt;
	&lt;li&gt;it avoids duplicate code paths for ext4_dir_entry vs ext4_dir_entry64&lt;/li&gt;
	&lt;li&gt;it would be possible to only store high 16 bits (2^48 inodes) since this  may be enough for ext4, since ext4_extent can only address 2^48 blocks (2^60 bytes) and there isn&apos;t much value to more inodes than blocks?&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;This issue is about using dirdata to store high bits of 64bit inode number.&lt;/p&gt;</description>
                <environment></environment>
        <key id="45378">LU-9309</key>
            <summary>Add ldiskfs 64-bit inode number support</summary>
                <type id="2" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11311&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="artem_blagodarenko">Artem Blagodarenko</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Apr 2017 13:38:00 +0000</created>
                <updated>Mon, 1 May 2023 16:50:29 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="191439" author="adilger" created="Mon, 10 Apr 2017 22:28:58 +0000"  >&lt;p&gt;Note that I&apos;m not against adding such a feature to ext4/ldiskfs, but it is worthwhile to consider potential issues as well, compared to distributing the filesystem metadata across multiple MDTs with DNE:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;if there is a problem with such a large MDT then there will only be a single-threaded e2fsck running to repair the MDT filesystem, which could take many hours/days to repair, vs. running e2fsck on multiple MDTs in parallel&lt;/li&gt;
	&lt;li&gt;e2fsck on such a large filesystem will require a large amount of RAM to manage the recovery state&lt;/li&gt;
	&lt;li&gt;if the LMA xattr holding the Lustre FID is lost, there is no easy fallback to IGIF FIDs with 64-bit inode numbers&lt;/li&gt;
	&lt;li&gt;having a single large MDT does not allow scaling performance (network, CPU, RAM) as cost-efficiently as multiple smaller MDTs&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I agree that the current DNE implementation does not scale metadata load automatically across MDTs/MDS nodes effectively, though this will be improved with DNE2 and striped directories.  My thought for enabling DNE to be more &quot;automatic&quot; in its load balancing is to allow automatic directory restriping when a directory grows larger than some number of entries (e.g. 16k), so that users can have the benefit of DNE without having to manually create striped directories.&lt;/p&gt;

&lt;p&gt;If you choose to move forward with MDTs with more than 4B inodes, I&apos;d also encourage you to look at making e2fsck multi-threaded and/or event driven so that it can use multiple CPUs and spindles/SSDs effectively, otherwise the check time may become so long that this is not a practical solution even if the on-disk format supports more than 4B inodes.&lt;/p&gt;</comment>
                            <comment id="209448" author="gerrit" created="Mon, 25 Sep 2017 17:23:42 +0000"  >&lt;p&gt;Artem Blagodarenko (artem.blagodarenko@seagate.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/29195&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/29195&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9309&quot; title=&quot;Add ldiskfs 64-bit inode number support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9309&quot;&gt;LU-9309&lt;/a&gt; ldiskfs: Add 64-bit inode number support&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 4b8dedeba7b8a3b2f24259e3b3442d20e6d5fc69&lt;/p&gt;</comment>
                            <comment id="209453" author="gerrit" created="Mon, 25 Sep 2017 17:49:11 +0000"  >&lt;p&gt;Artem Blagodarenko (artem.blagodarenko@seagate.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/29196&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/29196&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9309&quot; title=&quot;Add ldiskfs 64-bit inode number support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9309&quot;&gt;LU-9309&lt;/a&gt; debugfs: 64bit inode support&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 8b2120300e4d4739afb7e45ad962a645e77430ba&lt;/p&gt;</comment>
                            <comment id="209454" author="gerrit" created="Mon, 25 Sep 2017 17:49:11 +0000"  >&lt;p&gt;Artem Blagodarenko (artem.blagodarenko@seagate.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/29197&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/29197&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9309&quot; title=&quot;Add ldiskfs 64-bit inode number support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9309&quot;&gt;LU-9309&lt;/a&gt; badblocks: bad blocks 64bit inode cleanup&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: d59ff228a04446e22ee0630ff73c868e0e349b7d&lt;/p&gt;</comment>
                            <comment id="209455" author="gerrit" created="Mon, 25 Sep 2017 17:49:12 +0000"  >&lt;p&gt;Artem Blagodarenko (artem.blagodarenko@seagate.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/29198&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/29198&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9309&quot; title=&quot;Add ldiskfs 64-bit inode number support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9309&quot;&gt;LU-9309&lt;/a&gt; ext2fs: add EXT4_FEATURE_INCOMPAT_64INODE suport&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: c6f3dd0b051cebf5ca6d5d4ca6af06a323fd8506&lt;/p&gt;</comment>
                            <comment id="209456" author="gerrit" created="Mon, 25 Sep 2017 17:49:12 +0000"  >&lt;p&gt;Artem Blagodarenko (artem.blagodarenko@seagate.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/29199&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/29199&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9309&quot; title=&quot;Add ldiskfs 64-bit inode number support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9309&quot;&gt;LU-9309&lt;/a&gt; quota: swaping s_prj_quota_inum superblock field&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 011a538a852f5948bb383b8c82892688f9d78d72&lt;/p&gt;</comment>
                            <comment id="209457" author="gerrit" created="Mon, 25 Sep 2017 17:49:12 +0000"  >&lt;p&gt;Artem Blagodarenko (artem.blagodarenko@seagate.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/29200&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/29200&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9309&quot; title=&quot;Add ldiskfs 64-bit inode number support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9309&quot;&gt;LU-9309&lt;/a&gt; quota: quota 64bit inode number cleanup&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: f1a786e9c8da9d75760cbf43005f62db31bac3d5&lt;/p&gt;</comment>
                            <comment id="272584" author="adilger" created="Thu, 11 Jun 2020 09:17:11 +0000"  >&lt;p&gt;Link to changes improving DNE usage distribution.  More work is still needed to get DNE balance as good as OST space balance.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="52903">LU-11213</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="51154">LU-10784</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|hzz9pb:</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>