<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:08:09 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-7352] conf-sanity test_78: no space left on device</title>
                <link>https://jira.whamcloud.com/browse/LU-7352</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This issue was created by maloo for Andreas Dilger &amp;lt;andreas.dilger@intel.com&amp;gt;&lt;/p&gt;

&lt;p&gt;This issue relates to the following test suite run: &lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/fe434a72-7d5b-11e5-bca9-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/fe434a72-7d5b-11e5-bca9-5254006e85c2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The sub-test test_78 failed with the following error:&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;1048576 bytes (1.0 MB) copied, 0.140863 s, 7.4 MB/s
dd: opening `/mnt/lustre/d78.conf-sanity/f78.conf-sanity-99&apos;: No space left on device
 conf-sanity test_78: @@@@@@ FAIL: (4) create /mnt/lustre/d78.conf-sanity/f78.conf-sanity-99 failed 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Please provide additional information about the failure here.&lt;/p&gt;

&lt;p&gt;Info required for matching: conf-sanity 78&lt;br/&gt;
Info required for matching: conf-sanity 79&lt;/p&gt;</description>
                <environment></environment>
        <key id="32880">LU-7352</key>
            <summary>conf-sanity test_78: no space left on device</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.whamcloud.com/images/icons/priorities/critical.svg">Critical</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="wc-triage">WC Triage</assignee>
                                    <reporter username="maloo">Maloo</reporter>
                        <labels>
                    </labels>
                <created>Wed, 28 Oct 2015 18:34:53 +0000</created>
                <updated>Mon, 10 Apr 2017 19:58:53 +0000</updated>
                            <resolved>Mon, 6 Jun 2016 17:51:43 +0000</resolved>
                                    <version>Lustre 2.9.0</version>
                                    <fixVersion>Lustre 2.9.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>13</watches>
                                                                            <comments>
                            <comment id="131892" author="adilger" created="Wed, 28 Oct 2015 18:35:22 +0000"  >&lt;p&gt;This may relate to &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7309&quot; title=&quot;replay-single test_70b: no space left on device&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7309&quot;&gt;&lt;del&gt;LU-7309&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="132028" author="jamesanunez" created="Thu, 29 Oct 2015 16:43:51 +0000"  >&lt;p&gt;More failures on master:&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/fe434a72-7d5b-11e5-bca9-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/fe434a72-7d5b-11e5-bca9-5254006e85c2&lt;/a&gt;&lt;br/&gt;
2015-12-15 02:54:42 - &lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/04050e8a-a2fc-11e5-9b3d-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/04050e8a-a2fc-11e5-9b3d-5254006e85c2&lt;/a&gt;&lt;br/&gt;
2015-12-30 07:03:26 - &lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/0df22316-aef4-11e5-aa1f-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/0df22316-aef4-11e5-aa1f-5254006e85c2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="148247" author="yujian" created="Fri, 8 Apr 2016 16:30:53 +0000"  >&lt;p&gt;The same failure still occurred on master branch:&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/94f9085c-fd3c-11e5-8750-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/94f9085c-fd3c-11e5-8750-5254006e85c2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="149958" author="bogl" created="Sat, 23 Apr 2016 17:04:39 +0000"  >&lt;p&gt;another on master:&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/1d2bb940-090e-11e6-9e5d-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/1d2bb940-090e-11e6-9e5d-5254006e85c2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="149972" author="emoly.liu" created="Mon, 25 Apr 2016 01:27:56 +0000"  >&lt;p&gt;Another failure on master:&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/834acc42-090f-11e6-b5f1-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/834acc42-090f-11e6-b5f1-5254006e85c2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="152150" author="gerrit" created="Fri, 13 May 2016 03:44:59 +0000"  >&lt;p&gt;Andreas Dilger (andreas.dilger@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/20166&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/20166&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7352&quot; title=&quot;conf-sanity test_78: no space left on device&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7352&quot;&gt;&lt;del&gt;LU-7352&lt;/del&gt;&lt;/a&gt; tests: add debugging to conf-sanity test_78&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 46e82d0c3f2d94b5e579ca291df3137ef38c6612&lt;/p&gt;</comment>
                            <comment id="152154" author="adilger" created="Fri, 13 May 2016 04:32:11 +0000"  >&lt;p&gt;Looking at the client debug log from a recent failure it appears that the ENOSPC is coming from the MDS, possibly if there are no precreated objects on the OSTs yet since the filesystem was just formatted?&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/sub_tests/eadbd53e-17f8-11e6-b5f1-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/sub_tests/eadbd53e-17f8-11e6-b5f1-5254006e85c2&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;(mdc_locks.c:536:mdc_finish_enqueue()) Process entered
(mdc_locks.c:590:mdc_finish_enqueue()) @@@ op: 3 disposition: 17, status: -28  req@ffff88004e7ca400 x1534075851521040/t0(0) o101-&amp;gt;lustre-MDT0000-mdc-ffff88005ac84800@10.9.4.123@tcp:12/10 lens 888/544 e 0 to 0 dl 1463009294 ref 1 fl Complete:R/0/0 rc 301/301
(mdc_locks.c:719:mdc_finish_enqueue()) Process leaving (rc=0 : 0 : 0)
(mdc_locks.c:980:mdc_finish_intent_lock()) D_IT dentry f78.conf-sanity-97 intent: open|creat status -28 disp 17 rc 0
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The MDS log seems to agree with that to some extent, but it is getting 0 available blocks back from the OST, so it is generating the ENOSPC locally:&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;(osp_precreate.c:129:osp_statfs_interpret()) Process entered
(osp_precreate.c:969:osp_pre_update_status()) lustre-OST0000-osc-MDT0000: status: 36034 blocks, 9261 free, 26 used, 0 avail -&amp;gt; -28: rc = 0
(osp_precreate.c:972:osp_pre_update_status()) non-committed changes: 0, in progress: 0
(osp_precreate.c:151:osp_statfs_interpret()) updated statfs ffff88004f038800
(osp_precreate.c:153:osp_statfs_interpret()) Process leaving (rc=0 : 0 : 0)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The OST was formatted with 45000 blocks = 175MB for the test:&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;   Permanent disk data:
Target:     lustre:OST0000
Index:      0
Lustre FS:  lustre
Mount type: ldiskfs
Flags:      0x62
              (OST first_time update )
Persistent mount opts: ,errors=remount-ro
Parameters: mgsnode=10.9.4.123@tcp sys.timeout=20

device size = 12472MB
formatting backing filesystem ldiskfs on /dev/lvm-Role_OSS/P1
	target name   lustre:OST0000
	4k blocks     45000
	options        -I 256 -q -O extents,uninit_bg,dir_nlink,quota,huge_file,flex_bg -G 256 -E lazy_itable_init,resize=&quot;4290772992&quot;,lazy_journal_init -F
mkfs_cmd = mke2fs -j -b 4096 -L lustre:OST0000  -I 256 -q -O extents,uninit_bg,dir_nlink,quota,huge_file,flex_bg -G 256 -E lazy_itable_init,resize=&quot;4290772992&quot;,lazy_journal_init -F /dev/lvm-Role_OSS/P1 45000
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;but there are 7 OSTs ~= 1225MB so it is strange that there isn&apos;t enough space available on this one OST.  Hopefully the extra debugging patch will show what is happening.&lt;/p&gt;</comment>
                            <comment id="152780" author="adilger" created="Thu, 19 May 2016 01:52:08 +0000"  >&lt;p&gt;The actual problem here is that there is only a single OST in the filesystem, and it is very close to running out of space, so when the MDT is trying to precreate objects it is seeing that bavail = 0 and skipping that OST, which is the only one.  It isn&apos;t taking into account that the client may have reserved space on the OST that it wants to write to a new file.  That said, if the MDT checked bfree it may continue to create files on that OST even though the client does not have any grant there.&lt;/p&gt;

&lt;p&gt;I thought many years ago that the client should be able to send a bitmap of &quot;preferred&quot; OSTs and/or &quot;forbidden&quot; OSTs during create RPCs to the MDS.  This would allow the client to select OSTs that are closer to itself by network topology, skip OSTs that it does not have a connection to, or that it doesn&apos;t have any grant for.&lt;/p&gt;</comment>
                            <comment id="153324" author="bogl" created="Tue, 24 May 2016 13:46:21 +0000"  >&lt;p&gt;another on master:&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/638fcf44-21b3-11e6-a909-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/638fcf44-21b3-11e6-a909-5254006e85c2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="153919" author="bogl" created="Sat, 28 May 2016 15:26:37 +0000"  >&lt;p&gt;another on master:&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/test_sets/e899791e-24bb-11e6-a8f9-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/test_sets/e899791e-24bb-11e6-a8f9-5254006e85c2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="153922" author="wangshilong" created="Sat, 28 May 2016 18:27:09 +0000"  >&lt;p&gt;Let&apos;s think this problem more.&lt;/p&gt;

&lt;p&gt;     Now lod_qos_dev_is_full() is always checking using bavail which will except&lt;br/&gt;
Granting space, but MDS pre-create will only try to create empty objects on OST,&lt;br/&gt;
which dose not eat any free blocks here.&lt;/p&gt;

&lt;p&gt;    So if we skip granted space here and just use bfree blocks to check if we can&lt;br/&gt;
go on, that should be fine, considering when clients connect to OST, it should&lt;br/&gt;
have tried it best to get some grant space or just fall back to sync/direct write.&lt;/p&gt;

&lt;p&gt;     Another thing that I notcied is now it has following comments:&lt;br/&gt;
    /* the minimum of 0.1% used blocks and 1GB bytes. */&lt;br/&gt;
I think this still not perfect, think carefull, with a big OST, we might lost 1GB space,&lt;br/&gt;
and I am wondering there exist a case, Users just want empty or small files, But it can&lt;br/&gt;
not go on because of this check.&lt;/p&gt;</comment>
                            <comment id="153923" author="wangshilong" created="Sat, 28 May 2016 18:41:05 +0000"  >&lt;p&gt;Hmm..one point is MDS is trying to balance OST objects allocation between different&lt;br/&gt;
OST, trying to allocate new objects on those with more free blocks.&lt;/p&gt;

&lt;p&gt;Whatever way, users will still fail to create empty files, when all OST&lt;br/&gt;
are running out of this check..&lt;/p&gt;</comment>
                            <comment id="153955" author="gerrit" created="Mon, 30 May 2016 04:54:55 +0000"  >&lt;p&gt;Andreas Dilger (andreas.dilger@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/20166/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/20166/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7352&quot; title=&quot;conf-sanity test_78: no space left on device&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7352&quot;&gt;&lt;del&gt;LU-7352&lt;/del&gt;&lt;/a&gt; tests: don&apos;t fail conf-sanity test_78 on ENOSPC&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: b666d02e13e0890a244910221c5833d2af39aec9&lt;/p&gt;</comment>
                            <comment id="154334" author="gerrit" created="Wed, 1 Jun 2016 22:01:54 +0000"  >&lt;p&gt;Andreas Dilger (andreas.dilger@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/20558&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/20558&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7352&quot; title=&quot;conf-sanity test_78: no space left on device&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7352&quot;&gt;&lt;del&gt;LU-7352&lt;/del&gt;&lt;/a&gt; tests: conf-sanity 78 don&apos;t check missing files&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: d6a01df3686ce965e2ff268a8f667f926f9bd1e8&lt;/p&gt;</comment>
                            <comment id="154677" author="gerrit" created="Sat, 4 Jun 2016 23:30:36 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/20558/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/20558/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7352&quot; title=&quot;conf-sanity test_78: no space left on device&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7352&quot;&gt;&lt;del&gt;LU-7352&lt;/del&gt;&lt;/a&gt; tests: conf-sanity 78 don&apos;t check missing files&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 46319ab0903ccd1a28a3011eef995e7f5cfe334e&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="32681">LU-7309</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="35312">LU-7871</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|hzxrpj:</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>