<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:27:07 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-2660] e2fsck clears quota limits when error is found</title>
                <link>https://jira.whamcloud.com/browse/LU-2660</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;On the ext4 call today I heard from Ted Ts&apos;o that the e2fsck checking for the quota files is broken.  Apparently, if there is an error in the quota accounting (e.g. blocks used for user_X in the quota file doesn&apos;t match actual blocks counted in inodes owned by user_x) then the whole quota file is rewritten from the in-memory quota table, but the quota limits are not saved.  This can be checked by creating a filesystem with quotas, then use debugfs to delete some inodes with allocated data blocks (probably on the OST) and run e2fsck.  This probably needs a test in sanity-quota.sh to verify the quota limits after debugfs + e2fsck have been run. &lt;/p&gt;

&lt;p&gt;A second problem is that the e2fsck quota code does not detect if there is a user that owns inodes/blocks but is not present in the on-disk quota file.  If the quota file is somehow corrupted, the user will not have any assigned quota.&lt;/p&gt;

&lt;p&gt;This is discussed in the linux-ext4 thread with the subject &lt;tt&gt;how to quotacheck with the new quota implementation (hidden inode)?&lt;/tt&gt; &lt;a href=&quot;http://www.spinics.net/lists/linux-ext4/msg36077.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.spinics.net/lists/linux-ext4/msg36077.html&lt;/a&gt;, so it would be good to check for any patches and/or reply to that thread if someone is going to start working on this.&lt;/p&gt;</description>
                <environment></environment>
        <key id="17252">LU-2660</key>
            <summary>e2fsck clears quota limits when error is found</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="niu">Niu Yawei</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>e2fsprogs</label>
                    </labels>
                <created>Mon, 21 Jan 2013 14:22:52 +0000</created>
                <updated>Fri, 1 Jul 2016 02:29:14 +0000</updated>
                            <resolved>Fri, 1 Jul 2016 02:29:14 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="50961" author="niu" created="Tue, 22 Jan 2013 03:28:39 +0000"  >&lt;p&gt;The first problem will not affect lustre, since we never set &amp;amp; use the limits in the local fs. I&apos;ll monitor the mail thread, and start work on the fix if there is spare time.&lt;/p&gt;</comment>
                            <comment id="157476" author="niu" created="Fri, 1 Jul 2016 02:28:43 +0000"  >&lt;p&gt;The second problem has been fixed in upstream and already being included in our tree.&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;Author: Theodore Ts&apos;o &amp;lt;tytso@mit.edu&amp;gt;
Date:   Sat May 10 01:27:31 2014 -0400

    quota: fix e2fsck to notice missing quota entries

    Previously &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; there was a missing quota entry --- i.e., &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; there were
    files owned by group &lt;span class=&quot;code-quote&quot;&gt;&quot;eng&quot;&lt;/span&gt;, but there was no quota record &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; group
    &lt;span class=&quot;code-quote&quot;&gt;&quot;eng&quot;&lt;/span&gt;, e2fsck would not notice the missing entry.  This means that the
    usage informtion would not be properly repaired.  This is unfortunate.
    Fix &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; by marking each quota record in quota_dict that has a
    corresponding record on disk, and then check to see &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; there are any
    records in quota_dict that have not been marked as having been seen.
    In that &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;, we know we need to update the relevant quota inode.

    Signed-off-by: &lt;span class=&quot;code-quote&quot;&gt;&quot;Theodore Ts&apos;o&quot;&lt;/span&gt; &amp;lt;tytso@mit.edu&amp;gt;
    Reviewed-by: Aditya Kali &amp;lt;adityakali@google.com&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="157477" author="niu" created="Fri, 1 Jul 2016 02:29:14 +0000"  >&lt;p&gt;Already fixed in upstream.&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|hzvftj:</customfieldvalue>

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