<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:06:14 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-359] Confused error message after write failure</title>
                <link>https://jira.whamcloud.com/browse/LU-359</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The issues were found in sanity-quota test. When application writes failed for out of quota (-EDQUOT), it will close the file and exit. But the close returns &quot;-EIO&quot; related with former write failure, like that:&lt;/p&gt;

&lt;p&gt;===============&lt;br/&gt;
running as uid/gid/euid/egid 60000/60000/60000/60000, groups:&lt;br/&gt;
 &lt;span class=&quot;error&quot;&gt;&amp;#91;dd&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;if=/dev/zero&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;of=/mnt/lustre/d0.sanity-quota/d1/f1-1&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;bs=1024&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;count=9410&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;seek=9410&amp;#93;&lt;/span&gt;&lt;br/&gt;
dd: writing `/mnt/lustre/d0.sanity-quota/d1/f1-1&apos;: Disk quota exceeded&lt;br/&gt;
dd: closing output file `/mnt/lustre/d0.sanity-quota/d1/f1-1&apos;: Input/output error&lt;br/&gt;
running as uid/gid/euid/egid 60000/60000/60000/60000, groups:&lt;br/&gt;
 &lt;span class=&quot;error&quot;&gt;&amp;#91;dd&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;if=/dev/zero&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;of=/mnt/lustre/d0.sanity-quota/d1/f1-1&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;bs=1024&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;count=1024&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;seek=18821&amp;#93;&lt;/span&gt;&lt;br/&gt;
dd: writing `/mnt/lustre/d0.sanity-quota/d1/f1-1&apos;: Disk quota exceeded&lt;br/&gt;
dd: closing output file `/mnt/lustre/d0.sanity-quota/d1/f1-1&apos;: Input/output error&lt;br/&gt;
0&lt;br/&gt;
===============&lt;/p&gt;


&lt;p&gt;The message of &quot;dd: closing output file `/mnt/lustre/d0.sanity-quota/d1/f1-1&apos;: Input/output error&quot; is confused, which is quite different from &quot;dd&quot; against local FS output. The expected output should be:&lt;/p&gt;

&lt;p&gt;===============&lt;br/&gt;
running as uid/gid/euid/egid 60000/60000/60000/60000, groups:&lt;br/&gt;
 &lt;span class=&quot;error&quot;&gt;&amp;#91;dd&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;if=/dev/zero&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;of=/mnt/lustre/d0.sanity-quota/d1/f1-0&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;bs=1024&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;count=14631&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;seek=14631&amp;#93;&lt;/span&gt;&lt;br/&gt;
dd: writing `/mnt/lustre/d0.sanity-quota/d1/f1-0&apos;: Disk quota exceeded&lt;br/&gt;
13182+0 records in&lt;br/&gt;
13181+0 records out&lt;br/&gt;
13497344 bytes (13 MB) copied, 0.999215 seconds, 13.5 MB/s&lt;br/&gt;
running as uid/gid/euid/egid 60000/60000/60000/60000, groups:&lt;br/&gt;
 &lt;span class=&quot;error&quot;&gt;&amp;#91;dd&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;if=/dev/zero&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;of=/mnt/lustre/d0.sanity-quota/d1/f1-0&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;bs=1024&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;count=1024&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;seek=29262&amp;#93;&lt;/span&gt;&lt;br/&gt;
dd: writing `/mnt/lustre/d0.sanity-quota/d1/f1-0&apos;: Disk quota exceeded&lt;br/&gt;
1+0 records in&lt;br/&gt;
0+0 records out&lt;br/&gt;
0 bytes (0 B) copied, 0.00409484 seconds, 0.0 kB/s&lt;br/&gt;
0&lt;br/&gt;
===============&lt;/p&gt;</description>
                <environment></environment>
        <key id="11039">LU-359</key>
            <summary>Confused error message after write failure</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="yong.fan">nasf</assignee>
                                    <reporter username="yong.fan">nasf</reporter>
                        <labels>
                    </labels>
                <created>Tue, 24 May 2011 09:30:27 +0000</created>
                <updated>Fri, 22 Feb 2013 13:19:48 +0000</updated>
                            <resolved>Thu, 9 Aug 2012 00:11:48 +0000</resolved>
                                    <version>Lustre 2.3.0</version>
                    <version>Lustre 1.8.6</version>
                                    <fixVersion>Lustre 2.3.0</fixVersion>
                    <fixVersion>Lustre 1.8.9</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="14947" author="yong.fan" created="Tue, 24 May 2011 09:51:54 +0000"  >&lt;p&gt;In fact, the &quot;-EDQUOT&quot; is returned by ll_file_aio_write(), which is out of the control of &quot;lli_async_rc&quot;. Maybe we can use more complex logic to trace all write related failures by single &quot;lli_async_rc&quot;, but the separate &quot;ll_write_rc&quot; is quite simple to resolve these issues.&lt;/p&gt;</comment>
                            <comment id="14948" author="yong.fan" created="Tue, 24 May 2011 09:52:31 +0000"  >&lt;p&gt;patch for b1_8:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/#change,596&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,596&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="14949" author="yong.fan" created="Tue, 24 May 2011 10:04:48 +0000"  >&lt;p&gt;patch for master:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/#change,597&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,597&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="14950" author="yong.fan" created="Tue, 24 May 2011 10:07:20 +0000"  >&lt;p&gt;Johann, sorry for I did not understand the reason you disapprove former patch for this issue. Would you please to give some examples for what maybe caused by introducing &quot;ll_write_rc&quot;? thanks!&lt;/p&gt;</comment>
                            <comment id="15026" author="yong.fan" created="Wed, 25 May 2011 06:46:42 +0000"  >&lt;p&gt;I rename per-inode structure based &apos;lli_write_rc&apos; as per file-structure based &apos;fd_last_write&apos; to track the last write/fsync result (success or failure) through the &apos;file&apos; structure. So when &apos;sys_close()&apos; is called against the &apos;file&apos; structure, we know whether the caller has known write/fsync failure or not, and then avoid report confused failure. &lt;/p&gt;

&lt;p&gt;As for &apos;lli_async_rc&apos;, they do not conflict:&lt;br/&gt;
1) if &apos;fd_last_write&apos; is set, then means last write/fsync failed, and the caller has known that, so &apos;sys_close()-&amp;gt;ll_flush()&apos; returns success.&lt;br/&gt;
2) if &apos;fd_last_write&apos; is reset, then process as original logic&lt;/p&gt;

&lt;p&gt;Is anything wrong?&lt;/p&gt;</comment>
                            <comment id="20986" author="yong.fan" created="Sat, 8 Oct 2011 06:08:48 +0000"  >&lt;p&gt;New patch for master is available:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/#change,1497&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,1497&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="42290" author="yong.fan" created="Wed, 25 Jul 2012 23:49:47 +0000"  >&lt;p&gt;The patches have been updated:&lt;/p&gt;

&lt;p&gt;master: &lt;a href=&quot;http://review.whamcloud.com/#change,1497&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,1497&lt;/a&gt;&lt;br/&gt;
b1_8: &lt;a href=&quot;http://review.whamcloud.com/#change,596&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,596&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="42912" author="pjones" created="Thu, 9 Aug 2012 00:11:48 +0000"  >&lt;p&gt;Landed for 2.3&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|hzv5yv:</customfieldvalue>

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