<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:41:28 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-4298] &apos;lfs setstripe&apos; with bad values creates an empty file that has no striping information</title>
                <link>https://jira.whamcloud.com/browse/LU-4298</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;When launching an &apos;lfs setstripe&apos; with bad values (for instance a impossible stripe size), it creates an empty file that has no striping information.&lt;/p&gt;

&lt;p&gt;It should be better to not create the file at all in that case.&lt;/p&gt;

&lt;p&gt;I will propose a patch to address this issue.&lt;/p&gt;

&lt;p&gt;Sebastien.&lt;/p&gt;</description>
                <environment></environment>
        <key id="22213">LU-4298</key>
            <summary>&apos;lfs setstripe&apos; with bad values creates an empty file that has no striping information</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="jamesanunez">James Nunez</assignee>
                                    <reporter username="sebastien.buisson">Sebastien Buisson</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Fri, 22 Nov 2013 14:35:23 +0000</created>
                <updated>Thu, 6 Nov 2014 21:52:25 +0000</updated>
                            <resolved>Sat, 18 Oct 2014 23:32:34 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.7.0</fixVersion>
                    <fixVersion>Lustre 2.5.4</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="72131" author="sebastien.buisson" created="Fri, 22 Nov 2013 14:43:05 +0000"  >&lt;p&gt;The patch is at:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/8375&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/8375&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Sebastien.&lt;/p&gt;</comment>
                            <comment id="72137" author="pjones" created="Fri, 22 Nov 2013 15:26:13 +0000"  >&lt;p&gt;Thanks for the patch Sebastien. James, could you please take care of this issue?&lt;/p&gt;</comment>
                            <comment id="73369" author="jamesanunez" created="Thu, 12 Dec 2013 15:10:13 +0000"  >&lt;p&gt;This patch works, but there is still a case where we can get files created with no stripe information. When you use the offset option with an a value that is larger than the number of OSTs, you will get an error, but the file will be created with no striping information. llapi_stripe_limit_check checks that offset is less than MAX_OBD_DEVICES, but we never check that the value is less than or equal to the actual number of OSTs before we call open. Thus, we create a file and then get an error when the offset is larger than the number of OSTs.&lt;/p&gt;

&lt;p&gt;One option is to mimic what is done for the stripe count (-c) option in lfs setstripe. For the count option, if you use a value that is larger than the number of OSTs, the value is automatically set to the be number of OSTs. The modification of the stripe_count value is done in as part of ll_file_ioctl, in the lov_pack_md routine. The ioctl call is after the calls to llapi_stripe_limit_check and open. Thus, the bad count option is corrected and the file is created with stripe information. &lt;/p&gt;

&lt;p&gt;We could do the same for the offset value, i.e. set the value to be the last OST if the input offset value is larger than the number of OSTs. Does this seem like a reasonable way to go? &lt;/p&gt;

&lt;p&gt;Otherwise, we need to check the offset value to the actual number of OSTs before we call open.&lt;/p&gt;</comment>
                            <comment id="73376" author="sebastien.buisson" created="Thu, 12 Dec 2013 15:51:56 +0000"  >&lt;p&gt;Hi James,&lt;/p&gt;

&lt;p&gt;The logic behind wrong stripe count handling is to use the highest possible number that do not exceed the number of OSTs. But I am not sure we can apply the same logic for stripe offset. I would tend to think it is safer to return an error if the offset is incorrect.&lt;/p&gt;

&lt;p&gt;Sebastien.&lt;/p&gt;</comment>
                            <comment id="73964" author="jamesanunez" created="Fri, 20 Dec 2013 20:14:13 +0000"  >&lt;p&gt;I&apos;ve updated the patch at &lt;a href=&quot;http://review.whamcloud.com/#/c/8375&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/8375&lt;/a&gt; to handle bad input offset/start OST index values. &lt;/p&gt;

&lt;p&gt;There is one case that can still create a file with no stripe information; when using pools. If you use lfs setstripe with the &quot;--pool&quot; or &quot;-p&quot; option and you provide a start OST index value for an OST that is not in the pool, a file will be created with no stripe information. I think the fix here is to modify the call to llapi_search_ost to take the OST name of the OST with the input index value.&lt;/p&gt;</comment>
                            <comment id="75233" author="jamesanunez" created="Sat, 18 Jan 2014 00:27:39 +0000"  >&lt;p&gt;Patch updated to handle all cases where the OST index is specified on the command line is out of range or not in the specified pool.&lt;/p&gt;</comment>
                            <comment id="96650" author="bogl" created="Fri, 17 Oct 2014 23:08:01 +0000"  >&lt;p&gt;backport to b2_5:&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/12335&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/12335&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="96662" author="jamesanunez" created="Sat, 18 Oct 2014 23:32:34 +0000"  >&lt;p&gt;Patch landed to master&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|hzw9y7:</customfieldvalue>

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