<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:48:29 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-5095] HSM: Allow receiving messages to be non-blocking</title>
                <link>https://jira.whamcloud.com/browse/LU-5095</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;When using the HSM API for a copy tool, it&apos;s impossible to&lt;br/&gt;
properly exit an application because one thread might be&lt;br/&gt;
stuck in llapi_hsm_copytool_recv(), which in turn blocks&lt;br/&gt;
forever on a read.&lt;/p&gt;

&lt;p&gt;So this patch expands the existing Lustre userspace HSM API&lt;br/&gt;
to be able to apply flags to the read side of the&lt;br/&gt;
communication pipe, so it can be opened with O_NONBLOCK,&lt;br/&gt;
and gives access to the pipe file descriptor used. (read side)&lt;/p&gt;

&lt;p&gt;So now a program can do a poll/select, and then call&lt;br/&gt;
llapi_hsm_copytool_recv without blocking.&lt;/p&gt;

&lt;p&gt;Notes: The flags passed in from the copy tool to&lt;br/&gt;
llapi_hsm_copytool_register are applied to the read side of&lt;br/&gt;
the pipe using fcntl, because we do not want to apply the&lt;br/&gt;
same flags to the read and write sides of the pipe.&lt;/p&gt;

&lt;p&gt;No functionality is added for setting flags on the write&lt;br/&gt;
side of the pipe, since the kernel expects particular&lt;br/&gt;
behavior from that side of the pipe, and it seems unwise&lt;br/&gt;
to let user space modify it.&lt;/p&gt;

&lt;p&gt;Additionally, this patch changes llapi_hsm_copytool_recv to&lt;br/&gt;
not return -EAGAIN when it finds a message for an archive&lt;br/&gt;
not serviced by that copytool.&lt;/p&gt;

&lt;p&gt;Instead of returning -EAGAIN to the copy tool, which just&lt;br/&gt;
restarts the receive operation, this patch just loops inside&lt;br/&gt;
the recv function.&lt;/p&gt;

&lt;p&gt;This is because this -EAGAIN conflicts with -EAGAIN&lt;br/&gt;
returned from the call to libcfs_ukuc_msg_get&lt;br/&gt;
which can occur when O_NONBLOCK is set.&lt;/p&gt;</description>
                <environment></environment>
        <key id="24780">LU-5095</key>
            <summary>HSM: Allow receiving messages to be non-blocking</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="cliffw">Cliff White</assignee>
                                    <reporter username="paf">Patrick Farrell</reporter>
                        <labels>
                            <label>HSM</label>
                            <label>patch</label>
                    </labels>
                <created>Tue, 20 May 2014 21:21:25 +0000</created>
                <updated>Fri, 29 Aug 2014 04:26:37 +0000</updated>
                            <resolved>Thu, 10 Jul 2014 19:41:16 +0000</resolved>
                                                    <fixVersion>Lustre 2.6.0</fixVersion>
                    <fixVersion>Lustre 2.5.3</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>10</watches>
                                                                            <comments>
                            <comment id="84545" author="paf" created="Tue, 20 May 2014 22:00:24 +0000"  >&lt;p&gt;Patch is here:&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/10393&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/10393&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="86021" author="cliffw" created="Fri, 6 Jun 2014 15:46:57 +0000"  >&lt;p&gt;I will monitor this issue and patch.&lt;/p&gt;</comment>
                            <comment id="87716" author="paf" created="Fri, 27 Jun 2014 18:11:26 +0000"  >&lt;p&gt;Cliff,&lt;/p&gt;

&lt;p&gt;I&apos;d really like to see this patch landed for 2.6 if possible.  Cray has had it in our Lustre tree for a few weeks now with no ill effects.  I&apos;ve invited Gatekeeper to take a look as well, but could you perhaps ask about it as well?&lt;/p&gt;</comment>
                            <comment id="87800" author="cliffw" created="Mon, 30 Jun 2014 17:01:07 +0000"  >&lt;p&gt;It just was reviewed +1, I am asking and hopefully we will have it landed.&lt;/p&gt;</comment>
                            <comment id="88760" author="cliffw" created="Thu, 10 Jul 2014 19:41:08 +0000"  >&lt;p&gt;Patch has been merged, I am closing this issue, please reopen if you have more concerns&lt;/p&gt;</comment>
                            <comment id="89995" author="jamesanunez" created="Thu, 24 Jul 2014 18:51:43 +0000"  >&lt;p&gt;Patch for b2_5 is at &lt;a href=&quot;http://review.whamcloud.com/#/c/11220/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/11220/&lt;/a&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|hzwmuf:</customfieldvalue>

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