<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:37:44 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-3882] mounting a Lustre FS when already running an HSM CT causes the new mount to register as a CT</title>
                <link>https://jira.whamcloud.com/browse/LU-3882</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Due to the global KUC lists, seeing IMP_EVENT_ACTIVE on any MDC import will cause any already registered CT archive masks to be registered with the MDT behind that import.&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;mdc_import_event(..., ..., imp, IMP_EVENT_ACTIVE)
    mdc_kuc_reregister(imp)
        libcfs_kkuc_group_foreach(KUC_GRP_HSM, mdc_hsm_ct_reregister, imp)
                                         (void *)imp)
            cfs_list_for_each_entry(reg, ... KUC_GRP_HSM, ...)
                mdc_hsm_ct_reregister(reg-&amp;gt;kr_reg = archives, imp)
                    mdc_ioc_hsm_ct_register(imp, archives)
                        /* Send MDS_HSM_CT_REGISTER. */
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="20779">LU-3882</key>
            <summary>mounting a Lustre FS when already running an HSM CT causes the new mount to register as a CT</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="20020">LU-3647</parent>
                                    <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="jhammond">John Hammond</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>HSM</label>
                    </labels>
                <created>Wed, 4 Sep 2013 22:28:47 +0000</created>
                <updated>Wed, 2 Oct 2013 20:16:26 +0000</updated>
                            <resolved>Wed, 2 Oct 2013 20:16:26 +0000</resolved>
                                    <version>Lustre 2.5.0</version>
                                    <fixVersion>Lustre 2.5.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="65817" author="leibovici-cea" created="Thu, 5 Sep 2013 09:19:47 +0000"  >&lt;p&gt;It could be fixed like this:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;add mount point identifier as new argument of libcfs_ukuc_start() to put it into kkuc_reg structure.&lt;/li&gt;
	&lt;li&gt;add mount point identifier as new argument of libcfs_kkuc_group_foreach() so it only runs the re-registration for copytools who registered on this mount point.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I see this comment in kuc:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;/* Broadcast groups are global across all mounted filesystems;
 * i.e. registering for a group on 1 fs will get messages for that
 * group from any fs */
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;And indeed it appears that a copytool registered for 1 filesystem will get requests for other filesystems.&lt;br/&gt;
in mdc:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;        /* Broadcast to HSM listeners */
        rc = libcfs_kkuc_group_put(KUC_GRP_HSM, lh);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The only check is done in the copytool code itself, based on hsm action list contents:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; if (strcmp(hal-&amp;gt;hal_fsname, fs_name) != 0) {
         CT_ERROR(&quot;&apos;%s&apos; invalid fs name, expecting: %s\n&quot;,
                  hal-&amp;gt;hal_fsname, fs_name);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It would be better to filter it before, in the kuc layer, by adding the mnt point parameter to libcfs_kkuc_group_put() too.&lt;/p&gt;</comment>
                            <comment id="65957" author="jlevi" created="Fri, 6 Sep 2013 16:23:58 +0000"  >&lt;p&gt;Thomas,&lt;br/&gt;
Are you planning to submit a patch for this?&lt;/p&gt;</comment>
                            <comment id="66036" author="hdoreau" created="Mon, 9 Sep 2013 07:31:19 +0000"  >&lt;p&gt;Thomas is off for the next days. I can work on a patch if needed.&lt;br/&gt;
We would appreciate comments/suggestions from Intel on the proposed approach though.&lt;/p&gt;</comment>
                            <comment id="66217" author="jhammond" created="Tue, 10 Sep 2013 17:14:35 +0000"  >&lt;p&gt;I agree with Thomas&apos; approach but think it can be refined somewhat. Here is what I suggest:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;In struct struct kkuc_reg change kr_data from __u32 to void *.&lt;/li&gt;
	&lt;li&gt;Define struct kkuc_ct_data as follows to hold some magic, an obd_uuid, and the __u32 archive formerly placed in kr_data.&lt;/li&gt;
	&lt;li&gt;In lmv_hsm_ct_register() allocate a kkuc_ct_data and initialize it with the UUID of the LMV obd and with the passed in archives.&lt;/li&gt;
	&lt;li&gt;In libcfs_kkuc_group_rem() add a void **data parameter to receive the data on removal.&lt;/li&gt;
	&lt;li&gt;In lmv_hsm_ct_unregister() recover the kkuc_ct_data and free it.&lt;/li&gt;
	&lt;li&gt;Adjust mdc_hsm_ct_reregister() to use kkuc_ct_data and check its UUID against that of the MDC import.&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="66335" author="hdoreau" created="Wed, 11 Sep 2013 13:33:03 +0000"  >&lt;p&gt;Thanks a lot John.&lt;/p&gt;

&lt;p&gt;Patch is at &lt;a href=&quot;http://review.whamcloud.com/7612&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/7612&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="68196" author="pjones" created="Wed, 2 Oct 2013 20:16:26 +0000"  >&lt;p&gt;Landed for 2.5.0&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|hzw007:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10080</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>