<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:20:50 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-8820] skip LL_IOC_HSM_COPY_START for HSM removes</title>
                <link>https://jira.whamcloud.com/browse/LU-8820</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Robert has pointed out that there is no need for the copytool to call the LL_IOC_HSM_COPY_START ioctl (which sends a MDS_HSM_PROGRESS) when processing a remove action.&lt;/p&gt;</description>
                <environment></environment>
        <key id="41464">LU-8820</key>
            <summary>skip LL_IOC_HSM_COPY_START for HSM removes</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="jhammond">John Hammond</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>hsm</label>
                    </labels>
                <created>Thu, 10 Nov 2016 16:20:39 +0000</created>
                <updated>Mon, 24 Apr 2017 15:58:11 +0000</updated>
                            <resolved>Thu, 16 Mar 2017 22:03:51 +0000</resolved>
                                                    <fixVersion>Lustre 2.10.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="173131" author="gerrit" created="Thu, 10 Nov 2016 16:22:03 +0000"  >&lt;p&gt;John L. Hammond (john.hammond@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/23700&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/23700&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8820&quot; title=&quot;skip LL_IOC_HSM_COPY_START for HSM removes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8820&quot;&gt;&lt;del&gt;LU-8820&lt;/del&gt;&lt;/a&gt; hsm: skip LL_IOC_HSM_COPY_START for HSM removes&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: b4f5980394bb77242096b7cc73b606da1b1b773c&lt;/p&gt;</comment>
                            <comment id="188687" author="gerrit" created="Thu, 16 Mar 2017 21:38:46 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/23700/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/23700/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8820&quot; title=&quot;skip LL_IOC_HSM_COPY_START for HSM removes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8820&quot;&gt;&lt;del&gt;LU-8820&lt;/del&gt;&lt;/a&gt; hsm: skip LL_IOC_HSM_COPY_START for HSM removes&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 0cc1756e9fb28609705f5f86b8e2197f57b40513&lt;/p&gt;</comment>
                            <comment id="188700" author="pjones" created="Thu, 16 Mar 2017 22:03:51 +0000"  >&lt;p&gt;Landed for 2.10&lt;/p&gt;</comment>
                            <comment id="192983" author="bougetq" created="Fri, 21 Apr 2017 09:23:18 +0000"  >&lt;p&gt;Since this patch, test_225 does not pass anymore, has this patch altered the behaviour of changelogs?&lt;/p&gt;</comment>
                            <comment id="193023" author="jhammond" created="Fri, 21 Apr 2017 15:05:39 +0000"  >&lt;p&gt;Quentin, test_225() is effectively disabled. The way the CDT is implemented it processes the log sequentially, so it sends the remove, then marks the remove action canceled, then sends the cancel. It&apos;s a bit weird, but so is most of the way the CDT code is factored. But I don&apos;t see us changing this behavior very soon. Are you running a modified version of test_225()? If this functionality is important to you then could you please explain why?&lt;/p&gt;</comment>
                            <comment id="193074" author="bougetq" created="Fri, 21 Apr 2017 20:11:53 +0000"  >&lt;p&gt;Hi John,&lt;/p&gt;

&lt;p&gt;I am working on &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8987&quot; title=&quot;sanity-hsm: test_225 looks like it was never run&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8987&quot;&gt;LU-8987&lt;/a&gt; which aims at enabling test_225 (I merely removed the return statement at the start of the test). The modified test used to pass before this patch. It would seem this patch affected the content of the changelog when a remove request gets canceled. I am just wondering if the new behaviour is the &quot;correct&quot; one or if a regression was masked by test_225 being disabled.&lt;/p&gt;

&lt;p&gt;test_225 expects a changelog record with the flag 0x27D, from what I gathered in &quot;include/lustre/lustre_user.h&quot; the 0x200 part is related to the HSM_REMOVE operation and the 0x7D means the &quot;HSM return code&quot; is 125.&lt;br/&gt;
After this patch the flag is not 0x27D anymore but 0x200.&lt;/p&gt;</comment>
                            <comment id="193196" author="jhammond" created="Mon, 24 Apr 2017 13:07:43 +0000"  >&lt;p&gt;125 is ECANCELED, 0 is success, so this makes sense. I think the new behavior is correct. It&apos;s analogous to hitting Ctrl-C just after starting rm vs cp (on a large file). Since rm (unlink()) is atomic, we wouldn&apos;t expect the Ctrl-C to prevent the file from being removed. But file copy is not atomic, so we would expect Ctrl-C to do stop the copy.&lt;/p&gt;</comment>
                            <comment id="193200" author="bougetq" created="Mon, 24 Apr 2017 13:53:01 +0000"  >&lt;p&gt;I don&apos;t get it, &quot;lfs hsm_remove&quot; is not atomic, so why act as if it were?&lt;/p&gt;

&lt;p&gt;For tools that rely on parsing the changelogs, this can actually be harmful, a cancelled remove would be interpreted as a successful one, wouldn&apos;t it?&lt;/p&gt;</comment>
                            <comment id="193218" author="jhammond" created="Mon, 24 Apr 2017 15:09:50 +0000"  >&lt;p&gt;&amp;gt; I don&apos;t get it, &quot;lfs hsm_remove&quot; is not atomic, so why act as if it were?&lt;/p&gt;

&lt;p&gt;The action performed by the CT for remove is.&lt;/p&gt;

&lt;p&gt;&amp;gt; For tools that rely on parsing the changelogs, this can actually be harmful, a cancelled remove would be interpreted as a successful one, wouldn&apos;t it?&lt;/p&gt;

&lt;p&gt;I think there&apos;s a race that exists with or without this patch. You can cancel a request after the CT has removed the file but before it has reported success. Then how should the request be marked?&lt;/p&gt;</comment>
                            <comment id="193229" author="bougetq" created="Mon, 24 Apr 2017 15:57:38 +0000"  >&lt;p&gt;&amp;gt; The action performed by the CT for remove is.&lt;/p&gt;

&lt;p&gt;Yes, you are right.&lt;/p&gt;

&lt;p&gt;&amp;gt;I think there&apos;s a race that exists with or without this patch. You can cancel a request after the CT has removed the file but before it has reported success. Then how should the request be marked?&lt;/p&gt;

&lt;p&gt;I think it is up to the copytool to choose whether and how to act upon receiving a cancel request.&lt;/p&gt;

&lt;p&gt;So the only &quot;inconsistency&quot; is that the coordinator can report a request as canceled even though it may not be canceled; in which case one can check the changelog records to find out what really happened.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="42739">LU-8987</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|hzyv6n:</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>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>