<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:13:38 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-1115] software raid6 related BUG in fs/bio.c:222 when raid chunk &gt; 64k</title>
                <link>https://jira.whamcloud.com/browse/LU-1115</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;RedHat have changed drivers/md/raid5.c between kernels 2.6.18-238.12.1.el5 (1.8.6) and 2.6.18-274.3.1.el5 (1.8.7) (see attached diff) and I think those changes might be interacting with the Lustre md raid5/6 patches and causing the kernel to BUG.&lt;/p&gt;

&lt;p&gt;the 2.6.18-274.3.1.el5 + lustre 1.8.7 kernel works fine with a md raid6 8+2 setup with 64k raid chunks, but with 128k raid chunks it BUG&apos;s pretty much immediately when the first Lustre traffic starts. another site has seen the same problem with 256k raid chunks and the stock 1.8.7 server rpm.&lt;/p&gt;

&lt;p&gt;one data point is that if I revert RedHat&apos;s raid5.c back to the previous version (eg. from 2.6.18-238.12.1.el5 as used with lustre 1.8.6) then everything seems ok - 128k chunk works, and I&apos;m told 256k does as well. I don&apos;t understand enough of the bio and raid5 logic to know why this helps, but maybe it&apos;s a hint.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-489&quot; title=&quot;Hyperion-mds1 - swraid crash in mkfs.lustre&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-489&quot;&gt;&lt;del&gt;LU-489&lt;/del&gt;&lt;/a&gt; looks somewhat similar to this bug, but that&apos;s in raid10 code (that Lustre doesn&apos;t patch) and also with the 238 kernel, so I don&apos;t think it is related to this problem?&lt;/p&gt;

&lt;p&gt;a typical BUG looks like:&lt;/p&gt;

&lt;p&gt;2012-02-13 16:55:10 ----------- &lt;span class=&quot;error&quot;&gt;&amp;#91;cut here &amp;#93;&lt;/span&gt; --------- &lt;span class=&quot;error&quot;&gt;&amp;#91;please bite here &amp;#93;&lt;/span&gt; ---------&lt;br/&gt;
2012-02-13 16:55:10 Kernel BUG at fs/bio.c:222&lt;br/&gt;
2012-02-13 16:55:10 invalid opcode: 0000 &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; SMP &lt;br/&gt;
2012-02-13 16:55:10 last sysfs file: /block/md0/md/stripe_cache_size&lt;br/&gt;
2012-02-13 16:55:10 CPU 0 &lt;br/&gt;
2012-02-13 16:55:10 Modules linked in: obdfilter(U) ost(U) mds(U) fsfilt_ldiskfs(U) mgs(U) mgc(U) ldiskfs(U) jbd2(U) crc16(U) lustre(U) lov(U) mdc(U) lquota(U) osc(U) ko2iblnd(U) ptlrpc(U) obdclass(U) lnet(U) lvfs(U) libcfs(U) raid1(U) raid456(U) xor(U) coretemp(U) mptsas(U) mptscsih(U) mptbase(U) dm_mirror(U) dm_log(U) dm_multipath(U) scsi_dh(U) dm_mod(U) video(U) hwmon(U) backlight(U) sbs(U) i2c_ec(U) button(U) battery(U) asus_acpi(U) acpi_memhotplug(U) ac(U) parport_pc(U) lp(U) parport(U) sr_mod(U) cdrom(U) sd_mod(U) sg(U) usb_storage(U) joydev(U) shpchp(U) i7core_edac(U) edac_mc(U) pcspkr(U) mlx4_en(U) scsi_transport_sas(U) i2c_i801(U) i2c_core(U) uhci_hcd(U) qla2xxx(U) ehci_hcd(U) scsi_transport_fc(U) tpm_tis(U) tpm(U) tpm_bios(U) ahci(U) libata(U) scsi_mod(U) rdma_cm(U) ib_addr(U) iw_cm(U) ib_umad(U) ib_uverbs(U) ib_ipoib(U) ipoib_helper(U) ipv6(U) xfrm_nalgo(U) crypto_api(U) ib_cm(U) ib_sa(U) mlx4_ib(U) mlx4_core(U) ib_mad(U) ib_core(U) igb(U) 8021q(U) dca(U)&lt;br/&gt;
2012-02-13 16:55:10 Pid: 4532, comm: md0_raid5 Tainted: G     ---- 2.6.18-274.3.1.el5-1.8.7-wc1.a #1&lt;br/&gt;
2012-02-13 16:55:10 RIP: 0010:&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8002dcda&amp;gt;&amp;#93;&lt;/span&gt;  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8002dcda&amp;gt;&amp;#93;&lt;/span&gt; bio_put+0xa/0x31&lt;br/&gt;
2012-02-13 16:55:10 RSP: 0018:ffff810306973ca8  EFLAGS: 00010246&lt;br/&gt;
2012-02-13 16:55:10 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000100&lt;br/&gt;
2012-02-13 16:55:10 RDX: ffff8103013977c0 RSI: 0000000000000001 RDI: ffff8103013977c0&lt;br/&gt;
2012-02-13 16:55:10 RBP: ffff81032e6dc280 R08: 0000000000000000 R09: ffff81067bce7e00&lt;br/&gt;
2012-02-13 16:55:10 R10: ffff8103070aa600 R11: 0000000000000080 R12: ffff8103013977c0&lt;br/&gt;
2012-02-13 16:55:10 R13: ffff8103070aa600 R14: ffff8102fefd5b40 R15: 0000000000000000&lt;br/&gt;
2012-02-13 16:55:10 FS:  0000000000000000(0000) GS:ffffffff803fd000(0000) knlGS:0000000000000000&lt;br/&gt;
2012-02-13 16:55:10 CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b&lt;br/&gt;
2012-02-13 16:55:10 CR2: 00002aaaab54d020 CR3: 000000067fc35000 CR4: 00000000000006a0&lt;br/&gt;
2012-02-13 16:55:10 Process md0_raid5 (pid: 4532, threadinfo ffff810306972000, task ffff81067ebfd100)&lt;br/&gt;
2012-02-13 16:55:10 Stack:  ffffffff888e3f10 ffff81067ebfd100 ffff81067ebfd100 ffff81067ebfd100&lt;br/&gt;
2012-02-13 16:55:10  ffff81067ebfd138 ffff81067b742900 ffffffff8008da86 000006e4100b0d07&lt;br/&gt;
2012-02-13 16:55:10  ffff810001025e20 ffff810306973d20 ffffffff8008daf1 00000001100b0d07&lt;br/&gt;
2012-02-13 16:55:10 Call Trace:&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff888e3f10&amp;gt;&amp;#93;&lt;/span&gt; :obdfilter:dio_complete_routine+0x238/0x249&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8008da86&amp;gt;&amp;#93;&lt;/span&gt; enqueue_task+0x41/0x56&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8008daf1&amp;gt;&amp;#93;&lt;/span&gt; __activate_task+0x56/0x6d&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff884292f6&amp;gt;&amp;#93;&lt;/span&gt; :raid456:handle_stripe+0x103c/0x25c9&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8002de67&amp;gt;&amp;#93;&lt;/span&gt; __wake_up+0x38/0x4f&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff800a1dde&amp;gt;&amp;#93;&lt;/span&gt; keventd_create_kthread+0x0/0x98&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff800a1dde&amp;gt;&amp;#93;&lt;/span&gt; keventd_create_kthread+0x0/0x98&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8842a9db&amp;gt;&amp;#93;&lt;/span&gt; :raid456:raid5d+0x158/0x18b&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8003aa36&amp;gt;&amp;#93;&lt;/span&gt; prepare_to_wait+0x34/0x61&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8021f422&amp;gt;&amp;#93;&lt;/span&gt; md_thread+0xf8/0x10e&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff800a1fca&amp;gt;&amp;#93;&lt;/span&gt; autoremove_wake_function+0x0/0x2e&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8021f32a&amp;gt;&amp;#93;&lt;/span&gt; md_thread+0x0/0x10e&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff80032548&amp;gt;&amp;#93;&lt;/span&gt; kthread+0xd4/0x106&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8005dfb1&amp;gt;&amp;#93;&lt;/span&gt; child_rip+0xa/0x11&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff800a1dde&amp;gt;&amp;#93;&lt;/span&gt; keventd_create_kthread+0x0/0x98&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff80032474&amp;gt;&amp;#93;&lt;/span&gt; kthread+0x0/0x106&lt;br/&gt;
2012-02-13 16:55:10  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8005dfa7&amp;gt;&amp;#93;&lt;/span&gt; child_rip+0x0/0x11&lt;br/&gt;
2012-02-13 16:55:10 &lt;br/&gt;
2012-02-13 16:55:10 &lt;br/&gt;
2012-02-13 16:55:10 Code: 0f 0b 68 d1 cd 2b 80 c2 de 00 eb fe f0 ff 4f 50 0f 94 c0 84 &lt;br/&gt;
2012-02-13 16:55:10 RIP  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8002dcda&amp;gt;&amp;#93;&lt;/span&gt; bio_put+0xa/0x31&lt;br/&gt;
2012-02-13 16:55:10  RSP &amp;lt;ffff810306973ca8&amp;gt;&lt;br/&gt;
2012-02-13 16:55:10  &amp;lt;0&amp;gt;Kernel panic - not syncing: Fatal exception&lt;/p&gt;</description>
                <environment>x86_64, centos5/rhel5, server, software raid 8+2 raid6 with 128k chunks</environment>
        <key id="13229">LU-1115</key>
            <summary>software raid6 related BUG in fs/bio.c:222 when raid chunk &gt; 64k</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.whamcloud.com/images/icons/priorities/critical.svg">Critical</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="ys">Yang Sheng</assignee>
                                    <reporter username="rjh">Robin Humble</reporter>
                        <labels>
                    </labels>
                <created>Fri, 17 Feb 2012 21:12:58 +0000</created>
                <updated>Fri, 22 Feb 2013 11:11:59 +0000</updated>
                            <resolved>Sat, 22 Dec 2012 10:26:29 +0000</resolved>
                                    <version>Lustre 1.8.7</version>
                                    <fixVersion>Lustre 2.1.4</fixVersion>
                    <fixVersion>Lustre 1.8.9</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="29492" author="rjh" created="Mon, 20 Feb 2012 22:49:34 +0000"  >&lt;p&gt;I&apos;ve bisected the problem to these two patches:&lt;/p&gt;

&lt;p&gt;  raid5-large-io-rhel5.patch&lt;br/&gt;
  raid5-maxsectors-rhel5.patch&lt;/p&gt;

&lt;p&gt;if I apply all the standard rhel5 server patches except these two then md raid6 works. the second patch above is a refactoring of the first. if I apply just the first patch above then the kernel BUG&apos;s as before.&lt;/p&gt;

&lt;p&gt;I wrote the first patch, but it was a long time ago now. I can&apos;t remember where I got the idea/justification for it. I&apos;ll try to figure it out, but would appreciate any help.&lt;/p&gt;

&lt;p&gt;these patches allow 1M i/o&apos;s from lustre to get through to the raid code without being split up. write performance suffers considerably if they are omitted.&lt;/p&gt;

&lt;p&gt;depending on raid chunk size, some % of all software raid users will simply see a crashed kernel with stock 1.8.7-wc1 lustre whereas it all worked fine in 1.8.6-wc1, so I don&apos;t understand why more folks haven&apos;t reported this problem. perhaps they&apos;ve just gone back to 1.8.6-wc1...&lt;/p&gt;</comment>
                            <comment id="30074" author="rjh" created="Thu, 1 Mar 2012 02:19:48 +0000"  >&lt;p&gt;after looking at this some more, I think RedHat just made a mistake.&lt;/p&gt;

&lt;p&gt;the diff that RedHat cherry picked from mainline for RHEL5.7 is basically this commit:&lt;br/&gt;
  &lt;a href=&quot;http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=960e739d9e9f1c2346d8bdc65299ee2e1ed42218&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=960e739d9e9f1c2346d8bdc65299ee2e1ed42218&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and the very next commit is:&lt;br/&gt;
  &lt;a href=&quot;http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b99c2ffa980528a197f26c7d876cceeccce8dd5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b99c2ffa980528a197f26c7d876cceeccce8dd5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;  &quot;&quot;block: make bi_phys_segments an unsigned int instead of short&lt;br/&gt;
    raid5 can overflow with more than 255 stripes, ... &quot;&quot;&lt;/p&gt;

&lt;p&gt;which reverts the behaviour so that bio-&amp;gt;bi_phys_segments has a usable 4 bytes again.&lt;/p&gt;

&lt;p&gt;so I think RedHat&apos;s patch to raid5.c&lt;br/&gt;
  a) breaks any bio with bi_phys_segments &amp;gt; 255 which stops all large i/o to md raid5/6 that have a stripe &amp;gt;=1M (256 bios) in size&lt;br/&gt;
  b) changes no other behaviour in raid5.c, so does nothing to fix any bugs&lt;br/&gt;
  c) omits the 2nd patch in the series which fixes a regression&lt;/p&gt;

&lt;p&gt;so IMHO it is safe to revert all or part of the RedHat patch in order to let bio-&amp;gt;bi_phys_segments use all 4 bytes again. nothing in raid5.c uses the *_bi_hw_segments functions, or the high order bytes that are squirreled away in bi_phys_segments.&lt;/p&gt;

&lt;p&gt;md_raid5_fix_rhel5.7.patch is an attempt to revert part of RedHat&apos;s patch so that &amp;gt; 255 bio&apos;s are available again, or the whole thing can be reverted as per md_raid5_2.6.18-238.12.1.el5_to_2.6.18-274.3.1.el5.diff&lt;/p&gt;</comment>
                            <comment id="33566" author="pjones" created="Thu, 5 Apr 2012 16:56:16 +0000"  >&lt;p&gt;Yangsheng&lt;/p&gt;

&lt;p&gt;Could you please check whether this problem still exists in the latest kernel update?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="33801" author="ys" created="Fri, 6 Apr 2012 12:08:30 +0000"  >&lt;p&gt;Looks like this issue still exist latest rhel5.8 kernel. As Robin point out, we may carry &lt;a href=&quot;http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b99c2ffa980528a197f26c7d876cceeccce8dd5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b99c2ffa980528a197f26c7d876cceeccce8dd5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;in our series as a solution. So we can just simple remove it while Redhat also included this change.  &lt;/p&gt;</comment>
                            <comment id="38072" author="ys" created="Wed, 2 May 2012 20:55:48 +0000"  >&lt;p&gt;Patch commit to:&lt;a href=&quot;http://review.whamcloud.com/#change,2625&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,2625&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="43693" author="ys" created="Thu, 23 Aug 2012 10:58:29 +0000"  >&lt;p&gt;Patch landed, Close bug.&lt;/p&gt;</comment>
                            <comment id="47771" author="emoly.liu" created="Tue, 13 Nov 2012 22:38:56 +0000"  >&lt;p&gt;port for b2_1 is here &lt;a href=&quot;http://review.whamcloud.com/#change,4526&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,4526&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="48172" author="emoly.liu" created="Wed, 21 Nov 2012 06:00:29 +0000"  >&lt;p&gt;Port for b2_1 has been successfully cherry-picked as 96af312f068b642417cf1bba079822f4abb5723d.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="10858" name="md_raid5_2.6.18-238.12.1.el5_to_2.6.18-274.3.1.el5.diff" size="5746" author="rjh" created="Fri, 17 Feb 2012 21:12:58 +0000"/>
                            <attachment id="10910" name="md_raid5_fix_rhel5.7.patch" size="1345" author="rjh" created="Thu, 1 Mar 2012 02:09:38 +0000"/>
                    </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|hzvhan:</customfieldvalue>

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