<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:53:07 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-12499] improve the file path layout of HSM posix copytool</title>
                <link>https://jira.whamcloud.com/browse/LU-12499</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Andreas&apos;s comment on the current layout:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The problem with having the low bits in the top of the path is that this will create a very deep directory tree, and there will only be a single entry in each of the leaf directories because the f_seq values never repeat. Also, the f_seq values will be constant for a client for 128K creates until a client gets a new one, so that isn&apos;t giving you any fan-out, so those levels of the tree should just be dropped.  &lt;/p&gt;

&lt;p&gt;This is a serious design mistake in the POSIX copytool that we shouldn&apos;t repeat here.&lt;/p&gt;

&lt;p&gt;Instead, it probably makes sense to have a 2^16 fanout by f_oid at the top level, and then store the FID in the leaf.  That will give 16 files/leaf per million files created by this client (== 16K files/leaf per billion creates), and avoids all contention (there are not going to be 64K threads active on this client).  Currently, &quot;f_oid &amp;gt;&amp;gt; 16&quot; will mostly be 0 or sometimes 1, so it doesn&apos;t provide much fan-out.}}&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;A good layout would be:&lt;/p&gt;

&lt;p&gt;(fid-&amp;gt;f_oid &amp;amp; oxFFFF)/FID&lt;/p&gt;</description>
                <environment></environment>
        <key id="56243">LU-12499</key>
            <summary>improve the file path layout of HSM posix copytool</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="lixi_wc">Li Xi</reporter>
                        <labels>
                    </labels>
                <created>Mon, 1 Jul 2019 13:28:38 +0000</created>
                <updated>Wed, 3 Jul 2019 15:40:15 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="250610" author="adilger" created="Wed, 3 Jul 2019 15:40:15 +0000"  >&lt;p&gt;I agree that the current archive layout is sub-optimal and could be improved.  If this is done, the archive root directory of the new-style tree should be named differently from the old archive root, to allow for the copytool to be upgraded on an existing archive.  The copytool can check at startup time whether either/both the old and new archive root directory exist, and then do all creation and lookup in the new directory, but on &lt;tt&gt;ENOENT&lt;/tt&gt; it would also do lookups in the old directory.  On removal of archive entries from the old directory tree it should also try to remove the containing directories (ignoring errors), since most leaf directories will be empty.  At some point the old root directory will be removed and the double lookup will no longer be needed.&lt;/p&gt;

&lt;p&gt;That said, it would be even better to store the identifier from the archive as an xattr on the Lustre file.  That would allow MDT inode migration for HSM files, which is currently not allowed because the Lustre FID will change when an inode is moved to a new MDT (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6866&quot; title=&quot;MDT file migration is incompatible with HSM&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6866&quot;&gt;&lt;del&gt;LU-6866&lt;/del&gt;&lt;/a&gt;).  It would also allow us to use a &quot;normal&quot; directory tree in the archive to shadow the directory tree in the source filesystem, rather than just &lt;tt&gt;seq/oid &amp;amp; 0xffff/FID&lt;/tt&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_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i00j1b:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>