<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:32:11 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-10114] Feasibility of increasing upper limit of maximum HSM backends registered with MDT</title>
                <link>https://jira.whamcloud.com/browse/LU-10114</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Hello,&lt;br/&gt;
As mentioned in Xue Wei&apos;s LAD&apos;17 talk: &lt;a href=&quot;https://www.eofs.eu/_media/events/lad17/08_li_xi_lcoc_lad_2017.pdf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.eofs.eu/_media/events/lad17/08_li_xi_lcoc_lad_2017.pdf&lt;/a&gt; (LCOC: Lustre Cache on Client based on SSD &#8211; Xue Wei, NSCC-Wuxi and Li Xi, DDN), there is currently an upper limit of 32 HSM archives that can be registered.&lt;/p&gt;

&lt;p&gt;We also have a potential use-case for HSM that would greatly benefit from being able to increase this threshold, for example we would then be able to allocate a HSM archive for an individual customer&apos;s project, thus being able to colocate their HSM archived files more logically on our particular HSM backend (a tape filesystem), which would greatly improve our ability to restore large numbers of files.&lt;/p&gt;

&lt;p&gt;My question is just is this upper limit something that is relatively simple to increase without impacting much else?&lt;/p&gt;

&lt;p&gt;I&apos;ve emailed Li Xi from DDN who was also listed in the talk (I haven&apos;t managed to find the email address of Xue Wei from NSCC-Wuxi) if he or Xue could comment on this too, so I&apos;ll update this if I hear back from them.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Matt&lt;/p&gt;</description>
                <environment></environment>
        <key id="48689">LU-10114</key>
            <summary>Feasibility of increasing upper limit of maximum HSM backends registered with MDT</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="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="Teddy">Teddy</assignee>
                                    <reporter username="mrb">Matt R&#225;s&#243;-Barnett</reporter>
                        <labels>
                            <label>HSM</label>
                    </labels>
                <created>Tue, 10 Oct 2017 11:26:47 +0000</created>
                <updated>Thu, 29 Nov 2018 23:12:26 +0000</updated>
                            <resolved>Thu, 29 Nov 2018 23:12:26 +0000</resolved>
                                                    <fixVersion>Lustre 2.12.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="210727" author="jhammond" created="Tue, 10 Oct 2017 17:22:51 +0000"  >&lt;p&gt;Unfortunately the limit of 32 archives is part of the wire protocol:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;struct req_msg_field RMF_MDS_HSM_ARCHIVE =
        DEFINE_MSGF(&lt;span class=&quot;code-quote&quot;&gt;&quot;hsm_archive&quot;&lt;/span&gt;, 0,
                    sizeof(__u32), lustre_swab_generic_32s, NULL);
EXPORT_SYMBOL(RMF_MDS_HSM_ARCHIVE);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;So it can be changed but it will take some time for this to be seen in a production release.&lt;/p&gt;</comment>
                            <comment id="210731" author="adilger" created="Tue, 10 Oct 2017 17:40:19 +0000"  >&lt;p&gt;John, typically it should be possible to increase the size of a buffer without breaking backward compatibility, so long as old clients aren&apos;t expected to access any of the fields beyond the old size of the buffer.  Unfortunately, the &lt;tt&gt;MDS_HSM_ARCHIVE&lt;/tt&gt; RPC is used between the client and MDS, so there needs to be some compatibility in place (probably &lt;tt&gt;struct obd_connect_data&lt;/tt&gt; feature flag and max archive count) to negotiate the limits between them.&lt;/p&gt;

&lt;p&gt;I also see that the archive ID is used as a 32-bit value in a few structs, in particular those in &lt;tt&gt;lustre_user.h&lt;/tt&gt;:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
struct hsm_user_state {
        &lt;span class=&quot;code-comment&quot;&gt;/** Current HSM states, from &lt;span class=&quot;code-keyword&quot;&gt;enum&lt;/span&gt; hsm_states. */&lt;/span&gt;
        __u32                   hus_states;
        __u32                   hus_archive_id;
        &lt;span class=&quot;code-comment&quot;&gt;/**  The current undergoing action, &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; there is one */&lt;/span&gt;
        __u32                   hus_in_progress_state;
        __u32                   hus_in_progress_action;
        struct hsm_extent       hus_in_progress_location;
        &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt;                    hus_extended_info[];
};

struct hsm_request {
        __u32 hr_action;        &lt;span class=&quot;code-comment&quot;&gt;/* &lt;span class=&quot;code-keyword&quot;&gt;enum&lt;/span&gt; hsm_user_action */&lt;/span&gt;
        __u32 hr_archive_id;    &lt;span class=&quot;code-comment&quot;&gt;/* archive id, used only with HUA_ARCHIVE */&lt;/span&gt;
        __u64 hr_flags;         &lt;span class=&quot;code-comment&quot;&gt;/* request flags */&lt;/span&gt;
        __u32 hr_itemcount;     &lt;span class=&quot;code-comment&quot;&gt;/* item count in hur_user_item vector */&lt;/span&gt;
        __u32 hr_data_len;
};

struct hsm_action_list {
        __u32 hal_version;
        __u32 hal_count;       &lt;span class=&quot;code-comment&quot;&gt;/* number of hai&apos;s to follow */&lt;/span&gt;
        __u64 hal_compound_id; &lt;span class=&quot;code-comment&quot;&gt;/* returned by coordinator */&lt;/span&gt;
        __u64 hal_flags;
        __u32 hal_archive_id; &lt;span class=&quot;code-comment&quot;&gt;/* which archive backend */&lt;/span&gt;
        __u32 padding1;
        &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt;  hal_fsname[0];   &lt;span class=&quot;code-comment&quot;&gt;/* &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;-terminated */&lt;/span&gt;
        /* struct hsm_action_item[hal_count] follows, aligned on 8-&lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt;
           boundaries. See hai_zero */
} __attribute__((packed));

struct hsm_user_import {
        __u64           hui_size;
        __u64           hui_atime;
        __u64           hui_mtime;
        __u32           hui_atime_ns;
        __u32           hui_mtime_ns;
        __u32           hui_uid;
        __u32           hui_gid;
        __u32           hui_mode;
        __u32           hui_archive_id;
};
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;but these all appear to be used as integer values and not bitmaps, so they should be OK without any changes.&lt;/p&gt;

&lt;p&gt;Also, sanity-hsm.sh &lt;tt&gt;test_50()&lt;/tt&gt; and &lt;tt&gt;test_51()&lt;/tt&gt; are testing that up to 32 archives can be used, so this test would need to be updated if we allow more archives.&lt;/p&gt;</comment>
                            <comment id="210732" author="adilger" created="Tue, 10 Oct 2017 17:42:58 +0000"  >&lt;p&gt;Also, the copytool registration to the kernel passes only a 32-bit &lt;tt&gt;lk_data&lt;/tt&gt; mask to indicate which archives it is in charge of:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;struct lustre_kernelcomm {
        __u32 lk_wfd;
        __u32 lk_rfd;
        __u32 lk_uid;
        __u32 lk_group;
        __u32 lk_data;
        __u32 lk_flags;
} __attribute__((packed));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="210963" author="jhammond" created="Thu, 12 Oct 2017 17:14:44 +0000"  >&lt;p&gt;Hi Li Xi, could you make Xue Wei aware of this ticket?&lt;/p&gt;</comment>
                            <comment id="226927" author="gerrit" created="Sun, 29 Apr 2018 10:10:58 +0000"  >&lt;p&gt;Teddy Zheng (jjkky@yahoo.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/32197&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32197&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10114&quot; title=&quot;Feasibility of increasing upper limit of maximum HSM backends registered with MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10114&quot;&gt;&lt;del&gt;LU-10114&lt;/del&gt;&lt;/a&gt; hsm: increasing upper limit of maximum HSM backends registered with MDT&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 733344c1d871ae7925822de8135b32900ea2c776&lt;/p&gt;</comment>
                            <comment id="231738" author="gerrit" created="Thu, 9 Aug 2018 18:20:23 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/32806/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32806/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10114&quot; title=&quot;Feasibility of increasing upper limit of maximum HSM backends registered with MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10114&quot;&gt;&lt;del&gt;LU-10114&lt;/del&gt;&lt;/a&gt; hsm: add OBD_CONNECT2_ARCHIVE_ID_ARRAY to pass archive_id lists in array&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 1c7e7d1243f78c72210a0ba3c22d5c84838a416e&lt;/p&gt;</comment>
                            <comment id="236741" author="gerrit" created="Fri, 9 Nov 2018 17:35:11 +0000"  >&lt;p&gt;John L. Hammond (jhammond@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33631&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33631&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10114&quot; title=&quot;Feasibility of increasing upper limit of maximum HSM backends registered with MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10114&quot;&gt;&lt;del&gt;LU-10114&lt;/del&gt;&lt;/a&gt; hsm: noop chaneg for introp baselining&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 2b02bf4747f0e6cb5d523471a4a6df226c7a5e86&lt;/p&gt;</comment>
                            <comment id="237708" author="gerrit" created="Thu, 29 Nov 2018 22:55:57 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/32197/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32197/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10114&quot; title=&quot;Feasibility of increasing upper limit of maximum HSM backends registered with MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10114&quot;&gt;&lt;del&gt;LU-10114&lt;/del&gt;&lt;/a&gt; hsm: increase upper limit of maximum HSM backends registered with MDT&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 3bfb6107ba4e92d8aa02e842502bc44bac7b8b43&lt;/p&gt;</comment>
                            <comment id="237715" author="pjones" created="Thu, 29 Nov 2018 23:12:26 +0000"  >&lt;p&gt;Landed for 2.12&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="48631">LU-10092</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzzln3:</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>