<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:59:36 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-13241] mount.lustre for large filesystem runs slow debugfs commands</title>
                <link>https://jira.whamcloud.com/browse/LU-13241</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Running strace of &lt;tt&gt;mount.lustre&lt;/tt&gt; shows an interesting reason why it spent a huge mount of time on a large filesystem. &lt;tt&gt;mount.lustre&lt;/tt&gt; invokes several &apos;debugfs&apos; command internally, but they took a huge amount of time here. Here is example.&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;10056 10:35:21.590086 execve(&quot;/sbin/debugfs&quot;, [&quot;debugfs&quot;, &quot;-c&quot;, &quot;-R&quot;, &quot;stat CONFIGS/mountdata&quot;, &quot;/dev/sda&quot;]
10056 10:39:00.257586 +++ exited with 0 +++

10134 10:39:00.259343 execve(&quot;/bin/sh&quot;, [&quot;sh&quot;, &quot;-c&quot;, &quot;debugfs -c -R &apos;dump /CONFIGS/mou&quot;...]
10134 10:42:39.116052 +++ exited with 0 +++
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Total mount time was 982 sec in this time. But, It took 419 sec for just those two debugfs calls against 982 sec.&lt;/p&gt;

&lt;p&gt;These two calls are just reading the &lt;tt&gt;CONFIGS/mountdata&lt;/tt&gt; file from the filesystem, but that could be done directly via libext2fs, along with many of the other operations in &lt;tt&gt;libmount_utuls_ldiskfs.c&lt;/tt&gt;, rather than launching external binaries to do the work.  We should take care not to load the whole filesystem metadata, if that can be avoided. &lt;/p&gt;</description>
                <environment></environment>
        <key id="58068">LU-13241</key>
            <summary>mount.lustre for large filesystem runs slow debugfs commands</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="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="dongyang">Dongyang Li</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 11 Feb 2020 18:46:21 +0000</created>
                <updated>Mon, 31 Jan 2022 05:58:11 +0000</updated>
                            <resolved>Wed, 18 Mar 2020 11:27:51 +0000</resolved>
                                                    <fixVersion>Lustre 2.14.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="263108" author="adilger" created="Tue, 11 Feb 2020 23:17:59 +0000"  >&lt;p&gt;It &lt;em&gt;may&lt;/em&gt; be that commit &lt;tt&gt;v1.45.4-16-ge6069a05&lt;/tt&gt; &quot;&lt;tt&gt;Teach ext2fs_open2() to honor the EXT2_FLAG_SUPER_ONLY flag&lt;/tt&gt;&quot; in the upstream e2fsprogs could improve the performance of &lt;tt&gt;debugfs&lt;/tt&gt; in this case, since it will avoid reading the group descriptors in this case.&lt;/p&gt;</comment>
                            <comment id="263445" author="dongyang" created="Mon, 17 Feb 2020 08:04:53 +0000"  >&lt;p&gt;That commit will reduce the time for tune2fs, and dumpe2fs -h, so we should see improvement when enabling the quota and mmp features.&lt;/p&gt;

&lt;p&gt;debugfs doesn&apos;t use that flag and if we are reading/writing the mountdata, we need to read the group descriptors anyway.&lt;/p&gt;

&lt;p&gt;I&apos;m working on making libmount_utils_ldiskfs using the libext2fs, but we still need to do ext2fs_open() like you mentioned. Need to test if there&apos;s any improvement after that.&lt;/p&gt;</comment>
                            <comment id="263452" author="adilger" created="Mon, 17 Feb 2020 10:24:58 +0000"  >&lt;p&gt;We shouldn&apos;t need to read the group descriptors or bitmaps just to &lt;em&gt;read&lt;/em&gt; the mountdata file, only when writing it (usually only right after formatting, when most of the filesystem is empty).&lt;/p&gt;</comment>
                            <comment id="263754" author="gerrit" created="Fri, 21 Feb 2020 02:40:38 +0000"  >&lt;p&gt;Li Dongyang (dongyangli@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/37656&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37656&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13241&quot; title=&quot;mount.lustre for large filesystem runs slow debugfs commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13241&quot;&gt;&lt;del&gt;LU-13241&lt;/del&gt;&lt;/a&gt; utils: use libext2fs for ldiskfs operations&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: bd12ea6a75e185f7d7c457164a0e0c528c26a824&lt;/p&gt;</comment>
                            <comment id="263756" author="dongyang" created="Fri, 21 Feb 2020 02:49:44 +0000"  >&lt;p&gt;Looks like libext2fs doesn&apos;t handle quota, so if we use libext2fs to write the ldd, e2fsck will complain about inconsistent usage and quota accounting on the target, so I left the write part out.&lt;/p&gt;

&lt;p&gt;we also need to install e2fsprogs-devel on the build box from now on, I&apos;m not sure if Jenkins is setup that way.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="263768" author="adilger" created="Fri, 21 Feb 2020 05:58:17 +0000"  >&lt;p&gt;Running e2fsck definitely handles file quota, but maybe only at the end.  There is a quota library internal to e2fsprogs, but it isn&apos;t included as part of the -devel install.&lt;/p&gt;</comment>
                            <comment id="263772" author="dongyang" created="Fri, 21 Feb 2020 08:07:58 +0000"  >&lt;p&gt;correct, I noticed there&apos;s a quota library but it&apos;s internal to e2fsprogs. I actually got the ldiskfs_write_ldd working with libext2fs as well, with all the lookup/allocate inode/link parent/write inode dance. However e2fsck complains the quota with the just created fs. maybe we can still write the ldd with libext2fs and use e2fsck to fix the quota at the end of mkfs.lustre?&lt;/p&gt;</comment>
                            <comment id="264464" author="gerrit" created="Tue, 3 Mar 2020 17:37:03 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/37656/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37656/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13241&quot; title=&quot;mount.lustre for large filesystem runs slow debugfs commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13241&quot;&gt;&lt;del&gt;LU-13241&lt;/del&gt;&lt;/a&gt; utils: use libext2fs for ldiskfs operations&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 7dc8aa7e7848f800c54eb18ecd59d665484ce822&lt;/p&gt;</comment>
                            <comment id="264864" author="sihara" created="Mon, 9 Mar 2020 03:03:16 +0000"  >&lt;p&gt;Although patch was alraedy landed, here is test resutls without/with patch &lt;a href=&quot;https://review.whamcloud.com/37656/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37656/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1 x 1.2PB OST and &apos;fake&apos; filled up 50% fileystem by patch &lt;a href=&quot;https://review.whamcloud.com/#/c/37329/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/37329/&lt;/a&gt;.&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;Average mount time (Tried 3 times)
Without patch: 72.3 sec (77s,70s,70s)
With    patch: 48.6 sec (51s,48s,47s)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;So, patch contributed 33% speedup of mount time.&lt;/p&gt;</comment>
                            <comment id="265530" author="pjones" created="Wed, 18 Mar 2020 11:27:51 +0000"  >&lt;p&gt;Landed for 2.14&lt;/p&gt;</comment>
                            <comment id="265839" author="gerrit" created="Mon, 23 Mar 2020 02:10:06 +0000"  >&lt;p&gt;Li Dongyang (dongyangli@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/38027&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38027&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13241&quot; title=&quot;mount.lustre for large filesystem runs slow debugfs commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13241&quot;&gt;&lt;del&gt;LU-13241&lt;/del&gt;&lt;/a&gt; libext2fs: add quota to libext2fs&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre-test&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 38122fbe0d40670efbf787141a549875b4186d4f&lt;/p&gt;</comment>
                            <comment id="265840" author="gerrit" created="Mon, 23 Mar 2020 02:10:31 +0000"  >&lt;p&gt;Li Dongyang (dongyangli@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/38028&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38028&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13241&quot; title=&quot;mount.lustre for large filesystem runs slow debugfs commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13241&quot;&gt;&lt;del&gt;LU-13241&lt;/del&gt;&lt;/a&gt; utils: covert to libext2fs for rest of ldiskfs ops&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: d1a62adc3449fe9b16c0adc22f77e99393698afe&lt;/p&gt;</comment>
                            <comment id="271467" author="gerrit" created="Thu, 28 May 2020 23:35:38 +0000"  >&lt;p&gt;Andreas Dilger (adilger@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/38027/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38027/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13241&quot; title=&quot;mount.lustre for large filesystem runs slow debugfs commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13241&quot;&gt;&lt;del&gt;LU-13241&lt;/del&gt;&lt;/a&gt; libext2fs: add quota to libext2fs&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre-test&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: ab3ebc4782c04ae25568a17e456c29441a0ce044&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="13141">LU-1083</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|i00tmf:</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>