<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:24:29 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-2352] Tests must use DEBUGFS or ZDB as appropriate</title>
                <link>https://jira.whamcloud.com/browse/LU-2352</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Numerous tests depend on the debugfs/dumpe2fs/etc utilities and assume the fs type is ldiskfs.  For the moment all of these tests are skipped for other fs types.  However, they all need to be updated (if possible) to run using the correct utility for that fs type.  For zfs filesystems most things can be accomplished using zdb.&lt;/p&gt;</description>
                <environment></environment>
        <key id="12039">LU-2352</key>
            <summary>Tests must use DEBUGFS or ZDB as appropriate</summary>
                <type id="3" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11318&amp;avatarType=issuetype">Task</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="6" iconUrl="https://jira.whamcloud.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="3">Duplicate</resolution>
                                        <assignee username="liwei">Li Wei</assignee>
                                    <reporter username="behlendorf">Brian Behlendorf</reporter>
                        <labels>
                            <label>zfs</label>
                    </labels>
                <created>Thu, 6 Oct 2011 16:29:39 +0000</created>
                <updated>Wed, 20 Mar 2013 13:38:31 +0000</updated>
                            <resolved>Wed, 20 Mar 2013 13:38:16 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="20934" author="behlendorf" created="Thu, 6 Oct 2011 19:53:56 +0000"  >&lt;p&gt;Some of this work may depend on getting ORI-160 finished so objects can be referenced by name.&lt;/p&gt;</comment>
                            <comment id="29921" author="liwei" created="Tue, 28 Feb 2012 09:15:22 +0000"  >&lt;p&gt;Some tests use debugfs command &quot;unlink&quot;, &quot;rm&quot;, &quot;write&quot;, etc.  I didn&apos;t find how zdb could do such modifications.  Also, zdb takes only object numbers, not path names.  So, I have to change the tests to mount back ends if possible.&lt;/p&gt;</comment>
                            <comment id="29945" author="liwei" created="Tue, 28 Feb 2012 23:28:00 +0000"  >&lt;p&gt;I&apos;d like to hear some advices on how to deal with conf-sanity 38.  I tried mounting the target with the back end file system and unlink &quot;lov_objid&quot;, but it didn&apos;t work.  Both ldiskfs and ZFS OSD insert a FID_SEQ_LOCAL_FILE object into the object index as well as the root directory.  Unlinking the object from the root directory thus results in a) EEXIST when recreating the object in the ZFS case or b) a nonexistent inode referenced by the object index in the ldiskfs case, which causes an error too.  An immediate solution is to remove the object from the object index as well as the root directory.  That should be easy to do in the ZFS case, but might require some work in the ldiskfs case.  Another solution, at the risk of &quot;adapting Lustre to tests&quot;, is to stop inserting local objects into the object index.  Stepping back a little, I wonder how lov_objid become lost or zeroed in real world and if the test is not so useful that can be ignored.&lt;/p&gt;</comment>
                            <comment id="29971" author="adilger" created="Wed, 29 Feb 2012 12:54:00 +0000"  >&lt;p&gt;When reviewing ORI-162, it is my opinion that the FID_SEQ_LOCAL_FILE objects should not be in the OI, but rather be handled via by-name lookup only.  That is no more costly than by-FID lookup, since both require a single ZAP lookup, and it may be considerably faster for these frequently-used object since the root ZAP is small and the OI will be huge.&lt;/p&gt;

&lt;p&gt;This also avoids the problem seen here where any &quot;by hand&quot; modification of the underlying filesystem (which was the whole reason to make the ZFS OSD ZPL compatible) would cause the filesystem to break.&lt;/p&gt;

&lt;p&gt;As for reasons why this may be needed in real life:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;if an OST is lost/corrupted and a new OST is formatted with the same index it is necessary to reset the lov_objids file&lt;/li&gt;
	&lt;li&gt;if the lov_objids file is itself corrupted, being able to simply delete it and have Lustre recreate it from the OST LAST_ID data is very convenient (the only loss being a few orphaned zero-length objects on the OSTs)&lt;/li&gt;
	&lt;li&gt;similarly, truncating or deleting the last_rcvd file to handle cases where it is corrupted (either by storage or software bug like duplicate export UUIDs), and then having Lustre recreate it is very convenient&lt;/li&gt;
	&lt;li&gt;being able to modify the OST UUID in last_rcvd is also important on occasion&lt;/li&gt;
	&lt;li&gt;sometimes corruption of LAST_ID needs manual repair&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Ideally, these situations would all be handled automatically without need for user interaction, but that is not the case today.  In most cases there &lt;em&gt;could&lt;/em&gt; be automatic recovery (e.g. rebuild LAST_ID by scanning the O/&lt;/p&gt;
{seq}
&lt;p&gt;/d* directories for the highest OID), but this also needs development effort, and isn&apos;t always possible to handle automatically (e.g. the OST doesn&apos;t know what is in the lov_objids file on the MDT, and getting this wrong can result in more filesystem corruption).&lt;/p&gt;</comment>
                            <comment id="33505" author="tappro" created="Thu, 5 Apr 2012 01:44:26 +0000"  >&lt;p&gt;Li Wei, this issue with inserting local files into OI exists also on master, so it is not Orion issue. I see Fan Yong removed that in recent patches related to lfsck work though it is not enough. We discussed this with Alex day ago also, the problem is wider than seems. I tend to think we need separate bug about how to store local files and their index. Refer to &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-2340&quot; title=&quot;Storing server local files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-2340&quot;&gt;&lt;del&gt;ORI-617&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="54466" author="liwei" created="Wed, 20 Mar 2013 13:38:16 +0000"  >&lt;p&gt;Since there&apos;s actually no ZFS equivalent of debugfs, I think this can be closed as a dup of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-2353&quot; title=&quot;Tests mount servers as ldiskfs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-2353&quot;&gt;&lt;del&gt;LU-2353&lt;/del&gt;&lt;/a&gt;.&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_10040" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Epic</customfieldname>
                        <customfieldvalues>
                                        <label>server</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10070" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Project</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10031"><![CDATA[Orion]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzuv9j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2727</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10050" key="com.pyxis.greenhopper.jira:greenhopper-releasedmultiversionhistory">
                        <customfieldname>Release Version History</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>