<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:24:23 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-2340] Storing server local files</title>
                <link>https://jira.whamcloud.com/browse/LU-2340</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The server local files shouldn&apos;t be added into OI, so they would be restored and used upon mount even without OI. These files also must be linked in namespace if have no name.&lt;/p&gt;

&lt;p&gt;There are two types of local files:&lt;br/&gt;
1. objects with pre-defined FID, they get names via osd_compat_spec code, which assigns names for hardcoded FIDs.&lt;br/&gt;
2. files created with generated FIDs, usually with name but can be just objects disconnected from namespace. They are going through OI now.&lt;/p&gt;

&lt;p&gt;There are two orthogonal problems:&lt;br/&gt;
1. local object must be linked to namespace. Some are created just as objects by FID, so name should be created by OSD for compatibility/lfsck reasons&lt;br/&gt;
2. local object shouldn&apos;t be in OI so server can mount without OI.&lt;/p&gt;

&lt;p&gt;As solution we could say that all local object must be linked to O/seq/ directories. So problem (1) is solved. But we cannot hadrlink directories and already named files will get second link. That restricts us to the following - all local objects are linked to O/ except directories and no directory can be created without name. Having 2 links for regular file is not a big problem.&lt;/p&gt;

&lt;p&gt;The problems to solve:&lt;/p&gt;

&lt;p&gt;1. for osd_compat_spec object-name table - all pre-defined FIDs must have name, now it is not so, e.g. PENDING is created by fixed FID but MDD also creates name, this is not correct, if FID is fixed than it is enough to find PENDING for MDD, if MDD uses name then fixed FID is not needed.&lt;br/&gt;
2. Di patch is needed for dynamic O/seq/dN creation beyond current MAX_OBJID_GROUP limit.&lt;br/&gt;
3. Don&apos;t insert local objects to the OI but use osd_compat_objid_ methods to create names in O/seq/dN excluding directories.&lt;br/&gt;
4. Make sure there is no way to create nameless local directory&lt;br/&gt;
5. All fid-inode translation for local objects are done via name lookup, in fact we could use O/seq/dN as well but not for directories.&lt;/p&gt;

</description>
                <environment></environment>
        <key id="13885">LU-2340</key>
            <summary>Storing server local files</summary>
                <type id="6" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11315&amp;avatarType=issuetype">Story</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="tappro">Mikhail Pershin</assignee>
                                    <reporter username="tappro">Mikhail Pershin</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Apr 2012 03:02:57 +0000</created>
                <updated>Fri, 11 Apr 2014 21:54:30 +0000</updated>
                            <resolved>Fri, 11 Apr 2014 21:54:30 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="33508" author="liwei" created="Thu, 5 Apr 2012 05:48:38 +0000"  >&lt;p&gt;The new design unifies how FID_SEQ_LOCAL_FILE, FID_SEQ_LLOG, and IDIF objects are handled, making the logic easier to remember.  Looks good to me.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;3. Don&apos;t insert local objects to the OI but use osd_compat_objid_ methods to create names in O/seq/dN excluding directories.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Perhaps it&apos;s also the time to clean up the names in those functions, as they are no longer only for OST and compatibility purposes?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;4. Make sure there is no way to create nameless local directory&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Interestingly, this might open a door for OSD to detect creations of nameless objects and assign internal names if appropriate, so that all &quot;local&quot; objects have exactly one name.  In theory, the detection could happen at transaction start time, with its decision saved under transaction handles.  Another benefit is that, during object creation declarations, osd-ldiskfs no longer has to always reserve name insertion credits, and osd-zfs no longer has to compute zapid again after transaction start.&lt;/p&gt;</comment>
                            <comment id="46699" author="liwei" created="Wed, 17 Oct 2012 22:19:53 +0000"  >&lt;p&gt;What is the plan for this one?  It was blocking ORI-577 and, to a lesser degree, &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;ORI-363&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-2352&quot; title=&quot;Tests must use DEBUGFS or ZDB as appropriate&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-2352&quot;&gt;&lt;del&gt;ORI-362&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="81461" author="tappro" created="Fri, 11 Apr 2014 21:54:30 +0000"  >&lt;p&gt;this issue was solved during the lfsck project&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </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_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|hzuws7:</customfieldvalue>

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