<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:03:43 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-96] llite_loop.ko does not support &gt;= 64k pages</title>
                <link>https://jira.whamcloud.com/browse/LU-96</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;llite_loop.ko will not currently build on systems with &amp;gt;= 64k pages.  64k is apparently now the default in RHEL6 on ppc64 systems, so this may be an issue.  For LLNL, we really only need client support, so we will be fine in the short term if &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-94&quot; title=&quot;llite_lloop should not be part of the client build&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-94&quot;&gt;&lt;del&gt;LU-94&lt;/del&gt;&lt;/a&gt; is integrated.&lt;/p&gt;

&lt;p&gt;By longer term, this problem in lustre/llite/lloop.c: needs to be addressed:&lt;/p&gt;

&lt;p&gt;        CLASSERT(CFS_PAGE_SIZE &amp;lt; (1 &amp;lt;&amp;lt; (sizeof(unsigned short) * 8)));&lt;br/&gt;
        blk_queue_logical_block_size(lo-&amp;gt;lo_queue,&lt;br/&gt;
                                     (unsigned short)CFS_PAGE_SIZE);&lt;/p&gt;

&lt;p&gt;Lustre is setting the blk_queue_logical_block_size to the page size, but because it is an unsigned short (of 2 bytes) any number over 65535 will be truncated.&lt;/p&gt;</description>
                <environment>RHEL6, ppc64</environment>
        <key id="10393">LU-96</key>
            <summary>llite_loop.ko does not support &gt;= 64k pages</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="niu">Niu Yawei</assignee>
                                    <reporter username="morrone">Christopher Morrone</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Feb 2011 18:15:29 +0000</created>
                <updated>Mon, 21 Mar 2011 06:55:28 +0000</updated>
                            <resolved>Mon, 21 Mar 2011 06:55:27 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="10727" author="jay" created="Wed, 23 Feb 2011 18:34:05 +0000"  >&lt;p&gt;This problem was imported at:&lt;/p&gt;

&lt;p&gt;commit 5bae6efc7d2f8c117d96483cc11d1d428bd6abd4&lt;br/&gt;
Author: yangsheng &amp;lt;sheng.yang@oracle.com&amp;gt;&lt;br/&gt;
Date:   Thu Oct 21 16:23:42 2010 +0800&lt;/p&gt;

&lt;p&gt;    b=22514 Update RHEL5.5 &amp;amp; OEL5.5 to latest kernel.&lt;/p&gt;

&lt;p&gt;    --RHEL5 2.6.18-194.17.1.el5.&lt;br/&gt;
      --OEL5  2.6.18-194.17.1.0.1.el5.&lt;br/&gt;
      --Switch using &apos;inkernel&apos; OFED stack.&lt;br/&gt;
      --Build fixes for ppc64 &amp;amp; ia64.&lt;/p&gt;

&lt;p&gt;Investigating it&lt;/p&gt;</comment>
                            <comment id="10745" author="niu" created="Thu, 24 Feb 2011 19:34:32 +0000"  >&lt;p&gt;Hi, Xiong&lt;br/&gt;
I don&apos;t see how this patch can fix the problem, since the &apos;hardsect_size&apos;/&apos;logical_block_size&apos; is unsigned short in kernel.&lt;/p&gt;

&lt;p&gt;Hi, Andreas&lt;br/&gt;
Do you have any thoughts/ideas about long term solution for this issue? I&apos;ll take it as a lower priority job. Thank you.&lt;/p&gt;</comment>
                            <comment id="10746" author="niu" created="Thu, 24 Feb 2011 23:44:13 +0000"  >&lt;p&gt;I have a silly question, why we have to set the hardsect_size to PAGE_SIZE, is there anything wrong to set it 4k on a 64k page system?&lt;/p&gt;</comment>
                            <comment id="10762" author="adilger" created="Sat, 26 Feb 2011 09:23:26 +0000"  >&lt;p&gt;I don&apos;t recall if there was a requirement to keep the hatdsect size equal to the PAGE_SIZE or not, but I suspect yes - possibly to avoid sub-page IO tracking. Please look at the commit logs and/or bugzilla to see if there are any such requirements.&lt;/p&gt;

&lt;p&gt;It would be trivial to patch the client kernel to make hardsect size an int instead of a short, but for general use we do not patch the client kernel anymore, so that would either need to be maintained at LLNL and/or submitted upstream to RedHat. &lt;/p&gt;</comment>
                            <comment id="10770" author="niu" created="Mon, 28 Feb 2011 01:47:24 +0000"  >&lt;p&gt;Hi, Andreas, Xiong&lt;/p&gt;

&lt;p&gt;I checked the bugzilla (b5498), and didn&apos;t find such requirement, and I didn&apos;t find any sub-page IO tracking problem in the code, I asked Xiong (he is the original producer of lloop) about this, he can&apos;t recall the exact reason neihter, so I speculate that there isn&apos;t any special purpose for this. Since the lloop is introduced for swap, we didn&apos;t get any throuble on this. However, if we want to use lloop device as back store for some local filesystem, we might meet trouble when formatting a fs with block size smaller than PAGE_SIZE.&lt;/p&gt;

&lt;p&gt;Xiong mentioned that clio can only support page size aligned direct io, which makes the lloop in 2.0 can only handle page size aligned IO. The detail is: clio direct io issues io by cl_page, but cl_page doesn&apos;t have offset/length (I guess it because cl_page was invented for buffered io), so it&apos;s hard to send partial page to OSS. I think that should be an implementation defect in clio direct io (and it has nothing to do whith the hardsect_size), but not sure if we plan to fix it. (Xiong, please correct me if I&apos;m wrong)&lt;/p&gt;

&lt;p&gt;Given the assumption of no heavy change to the lloop, I think:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;if we only use lloop as swap device, then it&apos;s safe to always set the hardsect_size as 4k (no matter on 64k or 4k page system);&lt;/li&gt;
	&lt;li&gt;if we want to use lloop as back store for some other local fs, it&apos;s better to set hardsect_size as a smaller value, and for 2.0, the problem of clio direct io limitation needs be fixed.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I think the first solution doesn&apos;t require maintaining kernel patches, it should be easier for customer? Any comments?&lt;/p&gt;
</comment>
                            <comment id="10913" author="pjones" created="Mon, 7 Mar 2011 05:51:36 +0000"  >&lt;p&gt;Jay\Andreas - are you able to comment? thanks&lt;/p&gt;</comment>
                            <comment id="10920" author="adilger" created="Mon, 7 Mar 2011 08:56:16 +0000"  >&lt;p&gt;I am ok with simply disabling the loop device for the PPC client for now, or 64k PAGE_SIZE (whichever is easier). This code is only marginally tested, if at all, and I&apos;d rather it just be disabled on that arch until we have a need to use it there. &lt;/p&gt;</comment>
                            <comment id="10924" author="jay" created="Mon, 7 Mar 2011 09:33:28 +0000"  >&lt;p&gt;Let&apos;s fix this after kernel has solved the `unsigned short&apos; issue.  There is someone else who have met similar problem and has a patch, hopefully we will see it in the mainline kernels.&lt;/p&gt;</comment>
                            <comment id="10935" author="niu" created="Mon, 7 Mar 2011 17:56:31 +0000"  >&lt;p&gt;Thanks, Andreas and Jay. Let&apos;s just disable it for now (I think Chris and Brian is working on this in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-94&quot; title=&quot;llite_lloop should not be part of the client build&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-94&quot;&gt;&lt;del&gt;LU-94&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;</comment>
                            <comment id="11053" author="pjones" created="Mon, 14 Mar 2011 07:25:21 +0000"  >&lt;p&gt;ok, so if the approach is to avoid this issue and wait for an upstream fix, can this ticket be marked as resolved?&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|hzvylb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9789</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10023"><![CDATA[4]]></customfieldvalue>

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