<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:33:24 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-17191] sanity-quota test_1b, 1d, 1f, 1i: FAIL: user write success, but expect EDQUOT</title>
                <link>https://jira.whamcloud.com/browse/LU-17191</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Tests sanity-quota 1b, 1d, 1f, 1i regularly fail on my local VM on the latest master(d8d4df24c6924). Nothing specific should be done to reproduce it:&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;uname -a
Linux vm1 3.10.0-1160.49.1.el7_lustre.x86_64 #1 SMP Fri Jun 17 18:46:08 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
...
bash ./llmount.sh
ONLY=1 bash ./sanit-quota.sh
...
== sanity-quota test complete, duration 287 sec ========== 02:28:36 (1697149716)
sanity-quota: FAIL: test_1b user write success, but expect EDQUOT
sanity-quota: FAIL: test_1d user write success, but expect EDQUOT
sanity-quota: FAIL: test_1f user write success, but expect EDQUOT
sanity-quota: FAIL: test_1i user write success, but expect EDQUOT
=== sanity-quota: start cleanup 02:28:36 (1697149716) === &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;At first look the problem comes from the client side - osc_quota_chkdq doesn&apos;t return EDQUOT despite the fact it got appropriate flag from the server:&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;00000008:00000001:1.0:1697151056.504596:0:14647:0:(osc_request.c:2130:osc_brw_fini_request()) Process entered
00000008:04000000:1.0:1697151056.504599:0:14647:0:(osc_request.c:2153:osc_brw_fini_request()) setdq for [1000 1000 0] with valid 0x18000006b584fb9, flags 6100
00000001:00000001:1.0:1697151056.504604:0:14647:0:(osc_quota.c:92:osc_quota_setdq()) Process entered
00000001:00000001:1.0:1697151056.504609:0:14647:0:(osc_quota.c:166:osc_quota_setdq()) Process leaving (rc=18446744073709551600 : -16 : fffffffffffffff0)
00000008:00000001:1.0:1697151056.504614:0:14647:0:(osc_request.c:2185:osc_brw_fini_request()) Process leaving via out (rc=0 : 0 : 0x0)&#160;
00000008:00000001:1.0:1697151056.504618:0:14647:0:(osc_request.c:2399:osc_brw_fini_request()) Process leaving (rc=0 : 0 : 0)&#160;
...
00000001:00000001:3.0:1697151061.710836:0:2118:0:(osc_quota.c:40:osc_quota_chkdq()) Process entered
00000001:00000001:3.0:1697151061.710837:0:2118:0:(osc_quota.c:55:osc_quota_chkdq()) Process leaving (rc=0 : 0 : 0)
 &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;There is a -EBUSY error that from my point of view should be handled by another way:&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;diff --git a/lustre/osc/osc_quota.c b/lustre/osc/osc_quota.c
index b127361..f06276e 100644
--- a/lustre/osc/osc_quota.c
+++ b/lustre/osc/osc_quota.c
@@ -129,6 +129,8 @@ int osc_quota_setdq(struct client_obd *cli, u64 xid, const unsigned int qid[],
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; bits |= BIT(type);
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; rc = xa_insert(&amp;amp;cli-&amp;gt;cl_quota_exceeded_ids, qid[type],
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;xa_mk_value(bits), GFP_KERNEL);
+ &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; if (rc == -EBUSY)
+ &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; continue;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; if (rc)
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; break; &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;However, above fix doesn&apos;t help in my case and tests continue to fail. I guess xa_insert should return 0 and this is the problem.&lt;/p&gt;

&lt;p&gt;I tried to revert &quot;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8130&quot; title=&quot;Migrate from libcfs hash to rhashtable&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8130&quot;&gt;LU-8130&lt;/a&gt; osc: convert osc_quota hash to xarray&quot;(ac8c28f959d87c) and tests stopped failing.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=simmonsja&quot; class=&quot;user-hover&quot; rel=&quot;simmonsja&quot;&gt;simmonsja&lt;/a&gt; , can you take a look? I&apos;ll push a revert for ac8c28f959d, but if you can prepare a quick fix I will abandon my revert and help you to move on with that.&lt;/p&gt;</description>
                <environment></environment>
        <key id="78375">LU-17191</key>
            <summary>sanity-quota test_1b, 1d, 1f, 1i: FAIL: user write success, but expect EDQUOT</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="simmonsja">James A Simmons</assignee>
                                    <reporter username="scherementsev">Sergey Cheremencev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 13 Oct 2023 07:16:09 +0000</created>
                <updated>Thu, 9 Nov 2023 00:33:31 +0000</updated>
                            <resolved>Thu, 9 Nov 2023 00:33:31 +0000</resolved>
                                    <version>Lustre 2.16.0</version>
                                    <fixVersion>Lustre 2.16.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="389198" author="gerrit" created="Fri, 13 Oct 2023 07:22:57 +0000"  >&lt;p&gt;&quot;Sergey Cheremencev &amp;lt;scherementsev@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52685&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52685&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17191&quot; title=&quot;sanity-quota test_1b, 1d, 1f, 1i: FAIL: user write success, but expect EDQUOT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17191&quot;&gt;&lt;del&gt;LU-17191&lt;/del&gt;&lt;/a&gt; osc: osc_quota_setdq returns EBUSY&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 8e12eb2c69f9b1495a6e324eee4a143696e6756f&lt;/p&gt;</comment>
                            <comment id="389442" author="simmonsja" created="Mon, 16 Oct 2023 14:58:30 +0000"  >&lt;p&gt;Sure. I don&apos;t notice this ticket until now. I see the issue. We found this while working on the NRS xarray patch but this patch missed it. Testing now and will have something soon.&lt;/p&gt;</comment>
                            <comment id="389457" author="gerrit" created="Mon, 16 Oct 2023 15:52:19 +0000"  >&lt;p&gt;&quot;James Simmons &amp;lt;jsimmons@infradead.org&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52713&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52713&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17191&quot; title=&quot;sanity-quota test_1b, 1d, 1f, 1i: FAIL: user write success, but expect EDQUOT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17191&quot;&gt;&lt;del&gt;LU-17191&lt;/del&gt;&lt;/a&gt; osc: handle xa_insert returing -EBUSY&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 0b6fe9ffd7acca9281fa9df50c0754d371da6f01&lt;/p&gt;</comment>
                            <comment id="389548" author="sergey" created="Tue, 17 Oct 2023 06:15:57 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=simmonsja&quot; class=&quot;user-hover&quot; rel=&quot;simmonsja&quot;&gt;simmonsja&lt;/a&gt; ,&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52713&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52713&lt;/a&gt; doesn&apos;t help. I also tried the similar quick fix before pushing revert. Yes, this problem should be fixed in the future but sanity-quota tests fail due to another one. The reason why 52713 shouldn&apos;t help is that the tests fail due to wrong quota edquot check for User. The user is the 1st one in a cycle so it doesn&apos;t matter whether we continue or break the cycle.&lt;/p&gt;

&lt;p&gt;From my finding it fails due to following reason:&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;00000001:00000001:1.0:1697151056.504609:0:14647:0:(osc_quota.c:166:osc_quota_setdq()) Process leaving (rc=18446744073709551600 : -16 : fffffffffffffff0)
...
00000001:00000001:3.0:1697151061.710836:0:2118:0:(osc_quota.c:40:osc_quota_chkdq()) Process entered
00000001:00000001:3.0:1697151061.710837:0:2118:0:(osc_quota.c:55:osc_quota_chkdq()) Process leaving (rc=0 : 0 : 0) &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;osc_quota_chkdq returns 0 instead of -EDQUOT. At the same time osc_quota_setdq can&apos;t add a new index into Xarray.&#160;&lt;/p&gt;</comment>
                            <comment id="389943" author="simmonsja" created="Thu, 19 Oct 2023 14:35:34 +0000"  >&lt;p&gt;Sorry I really needed to work on the RCU stall issues first so this is even looked at. I&apos;m taking another look at this patch.&lt;/p&gt;</comment>
                            <comment id="391805" author="adilger" created="Sat, 4 Nov 2023 21:13:36 +0000"  >&lt;p&gt;Hmm, the most recent patch still fails Janitor for sanity-quota test_1g.&lt;/p&gt;

&lt;p&gt;Stephane had an interesting issue with project quota on the client (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16771&quot; title=&quot;statfs_max_age not used with statfs() project quotas?&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16771&quot;&gt;LU-16771&lt;/a&gt;) that would suggest being able to cache the (project) quota results on the client for a few seconds would be improve performance for applications that are statfs() intensive when project quotas are in use.&lt;/p&gt;

&lt;p&gt;I wonder if it makes sense to change the current xarray implementation for the quota to be able to cache at least the project quota information (usage/limit), but potentially also user/group quota, to avoid frequent RPCs.&#160; The slight drawback is that the quota tests would probably need to disable this cache, but that could easily be done by setting &quot;&lt;tt&gt;llite.&amp;#42;.statfs_max_age=0&lt;/tt&gt;&quot; or =1. &lt;/p&gt;

&lt;p&gt;It might make sense to change to an rhashtable at that point, since the Xarray implementation continues to have problems. &#160;Alternately, we could store the project (+user+group?) quota as the Xarray value and store the &quot;over quota&quot; state as a mark on the Xarray entry?&lt;/p&gt;

&lt;p&gt;Thoughts?&lt;/p&gt;</comment>
                            <comment id="391806" author="simmonsja" created="Sat, 4 Nov 2023 21:56:58 +0000"  >&lt;p&gt;The failure of sanity-quota 1g is &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17046&quot; title=&quot;sanity-quota test_1g: user write success, but expect EDQUOT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17046&quot;&gt;&lt;del&gt;LU-17046&lt;/del&gt;&lt;/a&gt; which was reported before the Xarray patch landed.&#160; So I wouldn&apos;t count out the Xarray work.&lt;/p&gt;</comment>
                            <comment id="391883" author="sergey" created="Mon, 6 Nov 2023 10:08:27 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=simmonsja&quot; class=&quot;user-hover&quot; rel=&quot;simmonsja&quot;&gt;simmonsja&lt;/a&gt; , if you say that sanity-quota_1g fails due to &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17046&quot; title=&quot;sanity-quota test_1g: user write success, but expect EDQUOT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17046&quot;&gt;&lt;del&gt;LU-17046&lt;/del&gt;&lt;/a&gt; can you give any details?&lt;/p&gt;

&lt;p&gt;You probably looked into the logs or found why it fails. Ideally this should be the link to the&#160; failure and a couple of words. It could save our time to finally fix &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17046&quot; title=&quot;sanity-quota test_1g: user write success, but expect EDQUOT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17046&quot;&gt;&lt;del&gt;LU-17046&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;</comment>
                            <comment id="391896" author="simmonsja" created="Mon, 6 Nov 2023 13:15:51 +0000"  >&lt;p&gt;I found the source of the faliures. sanity-quota_1g is failing due to (&quot;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13810&quot; title=&quot;Check OST pool quota hard limit at file with wide striping&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13810&quot;&gt;&lt;del&gt;LU-13810&lt;/del&gt;&lt;/a&gt; tests: increase limit for 1g&quot;).&#160;&lt;/p&gt;</comment>
                            <comment id="392307" author="gerrit" created="Wed, 8 Nov 2023 22:03:11 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52713/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52713/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17191&quot; title=&quot;sanity-quota test_1b, 1d, 1f, 1i: FAIL: user write success, but expect EDQUOT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17191&quot;&gt;&lt;del&gt;LU-17191&lt;/del&gt;&lt;/a&gt; osc: only call xa_insert for new entries&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 67e0d9e40acc6adcebf89e2a4ac3860f0c4273d2&lt;/p&gt;</comment>
                            <comment id="392352" author="pjones" created="Thu, 9 Nov 2023 00:33:31 +0000"  >&lt;p&gt;Merged for 2.16&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="75793">LU-16771</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="77544">LU-17046</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="36869">LU-8130</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|i03y9j:</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>