<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:46:09 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-11697] BAD WRITE CHECKSUM with t10ip4K and t10ip512 checksums</title>
                <link>https://jira.whamcloud.com/browse/LU-11697</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;I&apos;m running racer and get the following messages quite often. I think Oleg can confirm this.&lt;br/&gt;
if I set checksum_type to adler, then racer runs fine with no single bad checksum.&lt;/p&gt;

&lt;p&gt;LustreError: 168-f: lustre-OST0000: BAD WRITE CHECKSUM: from 12345-0@lo inode &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x3b89:0x0&amp;#93;&lt;/span&gt; object 0x0:1921 extent &lt;span class=&quot;error&quot;&gt;&amp;#91;326-4194303&amp;#93;&lt;/span&gt;: client csum 53f1f04e, server csum 9bf3f057&lt;br/&gt;
LustreError: 132-0: lustre-OST0000-osc-ffff8801d25e8800: BAD WRITE CHECKSUM: changed in transit before arrival at OST: from 0@lo inode &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x3b89:0x0&amp;#93;&lt;/span&gt; object 0x0:1921 extent &lt;span class=&quot;error&quot;&gt;&amp;#91;326-4194303&amp;#93;&lt;/span&gt;, original client csum 53f1f04e (type 20), server csum 9bf3f057 (type 20), client csum now 53f1f04e&lt;/p&gt;</description>
                <environment></environment>
        <key id="54097">LU-11697</key>
            <summary>BAD WRITE CHECKSUM with t10ip4K and t10ip512 checksums</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="lixi_wc">Li Xi</assignee>
                                    <reporter username="bzzz">Alex Zhuravlev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 23 Nov 2018 18:29:05 +0000</created>
                <updated>Tue, 4 Dec 2018 23:45:07 +0000</updated>
                            <resolved>Tue, 4 Dec 2018 23:45:07 +0000</resolved>
                                    <version>Lustre 2.12.0</version>
                                    <fixVersion>Lustre 2.12.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>10</watches>
                                                                            <comments>
                            <comment id="237413" author="pjones" created="Fri, 23 Nov 2018 19:07:55 +0000"  >&lt;p&gt;Li Xi&lt;/p&gt;

&lt;p&gt;Could you please advise?&lt;/p&gt;

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

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="237414" author="bzzz" created="Fri, 23 Nov 2018 19:29:56 +0000"  >&lt;p&gt;can&apos;t reproduce with crc32&lt;br/&gt;
yet another issue is that massive resends (due to bad checksums) lead to evictions which is not correct.&lt;br/&gt;
with adler/crc32 I have no evictions.&lt;/p&gt;</comment>
                            <comment id="237417" author="adilger" created="Fri, 23 Nov 2018 20:56:07 +0000"  >&lt;p&gt;The evictions are likely caused by the resends due to checksum errors.  If adler/crc32 do not generate checksum errors then they do not resend and are not evicted.  It may be that the RPC resends are not being counted by the OST as &quot;forward progress&quot; for a DLM lock being cancelled, so the client is evicted due to non-responsiveness?&lt;/p&gt;

&lt;p&gt;In that case, it makes sense to update the DLM lock timer due to the resends so that the client is not evicted if the network is having problems.&lt;/p&gt;</comment>
                            <comment id="237418" author="adilger" created="Fri, 23 Nov 2018 21:02:03 +0000"  >&lt;p&gt;According to Oleg, there are checksum errors with other RPC types as well when running racer.  It isn&apos;t clear why this is only affecting Alex with t10ip checksums.&lt;/p&gt;

&lt;p&gt;Remove the 2.12 tag for now.  If this becomes a problem in the field (which is unlikely if it only appears during racer), then a different checksum type can be selected.&lt;/p&gt;</comment>
                            <comment id="237464" author="green" created="Mon, 26 Nov 2018 18:33:36 +0000"  >&lt;p&gt;I have this problem too.&lt;/p&gt;

&lt;p&gt;I applied this patch and all the RPC checksums went away:&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;diff --git a/lustre/include/obd_cksum.h b/lustre/include/obd_cksum.h
index a2ce2ec..bcb23e5 100644
--- a/lustre/include/obd_cksum.h
+++ b/lustre/include/obd_cksum.h
@@ -98,7 +98,7 @@ static inline enum cksum_types obd_cksum_types_supported_clien
                ret |= OBD_CKSUM_CRC32;
 
        /* Client support all kinds of T10 checksum */
-       ret |= OBD_CKSUM_T10_ALL;
+       ret |= 0; //OBD_CKSUM_T10_ALL;
 
        return ret;
 }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Also without the patch above I am having sporadic patches in checksum that seems to imply there are problems in this area that are deeper:&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;[80863.424036] BUG: unable to handle kernel paging request at ffff880229b1a000
[80863.476713] IP: [&amp;lt;ffffffff813ee500&amp;gt;] do_csum+0x70/0x180
[80863.478571] PGD 241b067 PUD 33effc067 PMD 33eeae067 PTE 8000000229b1a060
[80863.478571] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[80863.483994] Modules linked in: lustre(OE) ofd(OE) osp(OE) lod(OE) ost(OE) mdt(OE) mdd(OE) mgs(OE) osd_zfs(OE) lquota(OE) lfsck(OE) obdecho(OE) mgc(OE) lov(OE) mdc(OE) osc(OE) lmv(OE) fid(OE) fld(OE) ptlrpc_gss(OE) ptlrpc(OE) obdclass(OE) ksocklnd(OE) lnet(OE) libcfs(OE) zfs(PO) zunicode(PO) zavl(PO) icp(PO) zcommon(PO) znvpair(PO) spl(O) crc_t10dif crct10dif_generic crct10dif_common pcspkr i2c_piix4 virtio_balloon virtio_console ip_tables rpcsec_gss_krb5 ata_generic pata_acpi drm_kms_helper ttm drm drm_panel_orientation_quirks ata_piix serio_raw virtio_blk libata i2c_core floppy [last unloaded: libcfs]
[80863.503099] CPU: 8 PID: 24979 Comm: ll_ost_io04_005 Kdump: loaded Tainted: P           OE  ------------   3.10.0-7.6-debug #1
[80863.503099] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
[80863.503099] task: ffff880303c42900 ti: ffff880089ff4000 task.ti: ffff880089ff4000
[80863.503099] RIP: 0010:[&amp;lt;ffffffff813ee500&amp;gt;]  [&amp;lt;ffffffff813ee500&amp;gt;] do_csum+0x70/0x180
[80863.503099] RSP: 0018:ffff880089ff7938  EFLAGS: 00010246
[80863.503099] RAX: 0000000000000000 RBX: ffff880229b1a000 RCX: 0000000000000040
[80863.503099] RDX: ffff880229b1a000 RSI: 0000000000001000 RDI: ffff880229b1a000
[80863.503099] RBP: ffff880089ff7938 R08: 0000000000000000 R09: 0000000000000000
[80863.503099] R10: 0000000000000040 R11: 0000000000000200 R12: 0000000000001000
[80863.503099] R13: 0000000000001000 R14: 0000000000000001 R15: 0000000000001000
[80863.587717] FS:  0000000000000000(0000) GS:ffff88033dc00000(0000) knlGS:0000000000000000
[80863.587717] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[80863.587717] CR2: ffff880229b1a000 CR3: 00000000a792e000 CR4: 00000000000006e0
[80863.587717] Call Trace:
[80863.599291]  [&amp;lt;ffffffff813ee61e&amp;gt;] ip_compute_csum+0xe/0x30
[80863.642807]  [&amp;lt;ffffffffa0572e1e&amp;gt;] obd_dif_ip_fn+0xe/0x10 [obdclass]
[80863.642807]  [&amp;lt;ffffffffa0572ee9&amp;gt;] obd_page_dif_generate_buffer+0xc9/0x190 [obdclass]
[80863.642807]  [&amp;lt;ffffffffa07a5e3f&amp;gt;] tgt_checksum_niobuf_rw+0x27f/0xea0 [ptlrpc]
[80863.642807]  [&amp;lt;ffffffffa0572e10&amp;gt;] ? obd_dif_crc_fn+0x20/0x20 [obdclass]
[80863.642807]  [&amp;lt;ffffffffa0572e10&amp;gt;] ? obd_dif_crc_fn+0x20/0x20 [obdclass]
[80863.642807]  [&amp;lt;ffffffffa07a842d&amp;gt;] tgt_brw_read+0xc2d/0x1e60 [ptlrpc]
[80863.642807]  [&amp;lt;ffffffff812127f4&amp;gt;] ? __kmalloc+0x634/0x660
[80863.736021]  [&amp;lt;ffffffff813eca64&amp;gt;] ? vsnprintf+0x234/0x6a0
[80863.736021]  [&amp;lt;ffffffffa0540119&amp;gt;] ? lprocfs_counter_add+0xf9/0x160 [obdclass]
[80863.742878]  [&amp;lt;ffffffffa0744fe6&amp;gt;] ? lustre_pack_reply_v2+0x166/0x290 [ptlrpc]
[80863.742878]  [&amp;lt;ffffffffa074517f&amp;gt;] ? lustre_pack_reply_flags+0x6f/0x1e0 [ptlrpc]
[80863.765470]  [&amp;lt;ffffffffa0745301&amp;gt;] ? lustre_pack_reply+0x11/0x20 [ptlrpc]
[80863.765470]  [&amp;lt;ffffffffa07ac365&amp;gt;] tgt_request_handle+0xaf5/0x1590 [ptlrpc]
[80863.765470]  [&amp;lt;ffffffffa01f9fa7&amp;gt;] ? libcfs_debug_msg+0x57/0x80 [libcfs]
[80863.765470]  [&amp;lt;ffffffffa0750436&amp;gt;] ptlrpc_server_handle_request+0x256/0xad0 [ptlrpc]
[80863.775960]  [&amp;lt;ffffffff810bfbd8&amp;gt;] ? __wake_up_common+0x58/0x90
[80863.775960]  [&amp;lt;ffffffff813fb7bb&amp;gt;] ? do_raw_spin_unlock+0x4b/0x90
[80863.775960]  [&amp;lt;ffffffffa0754329&amp;gt;] ptlrpc_main+0xa99/0x1f60 [ptlrpc]
[80863.775960]  [&amp;lt;ffffffff810c32ed&amp;gt;] ? finish_task_switch+0x5d/0x1b0
[80863.775960]  [&amp;lt;ffffffffa0753890&amp;gt;] ? ptlrpc_register_service+0xfb0/0xfb0 [ptlrpc]
[80863.775960]  [&amp;lt;ffffffff810b4ed4&amp;gt;] kthread+0xe4/0xf0
[80863.775960]  [&amp;lt;ffffffff810b4df0&amp;gt;] ? kthread_create_on_node+0x140/0x140
[80863.775960]  [&amp;lt;ffffffff817c4c77&amp;gt;] ret_from_fork_nospec_begin+0x21/0x21
[80863.775960]  [&amp;lt;ffffffff810b4df0&amp;gt;] ? kthread_create_on_node+0x140/0x140
[80863.775960] Code: 00 00 00 40 f6 c7 04 0f 85 de 00 00 00 41 89 d3 c1 ea 04 41 d1 eb 85 d2 41 89 d2 74 48 89 d1 45 31 c0 48 89 fa 66 0f 1f 44 00 00 &amp;lt;48&amp;gt; 03 02 48 13 42 08 48 13 42 10 48 13 42 18 48 13 42 20 48 13 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;Though I also had evidently a similar crc dump in september (but the t10 patch reowrking this area landed in June I think):&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;[37976.307908] IP: [&amp;lt;ffffffff813c0ba0&amp;gt;] do_csum+0x70/0x180
[37976.307908] PGD 23e3067 PUD 33edfb067 PMD 33ed49067 PTE 8000000256203060
[37976.307908] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[37976.307908] Modules linked in: lustre(OE) ofd(OE) osp(OE) lod(OE) ost(OE) mdt(OE) mdd(OE) mgs(OE) osd_zfs(OE) lquota(OE) lfsck(OE) obdecho(OE) mgc(OE) lov(OE) mdc(OE) osc(OE) lmv(OE) fid(OE) fld(OE) ptlrpc_gss(OE) ptlrpc(OE) obdclass(OE) ksocklnd(OE) lnet(OE) libcfs(OE) zfs(PO) zunicode(PO) zlua(PO) zcommon(PO) znvpair(PO) zavl(PO) icp(PO) spl(O) crc_t10dif crct10dif_generic crct10dif_common ata_generic pata_acpi ttm drm_kms_helper drm ata_piix i2c_piix4 virtio_console libata serio_raw pcspkr virtio_balloon virtio_blk i2c_core floppy ip_tables rpcsec_gss_krb5 [last unloaded: libcfs]
[37976.307908] CPU: 10 PID: 12741 Comm: ll_ost_io05_004 Kdump: loaded Tainted: P           OE  ------------   3.10.0-7.5-debug #1
[37976.349349] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
[37976.349349] task: ffff8800a77e6600 ti: ffff88026c85c000 task.ti: ffff88026c85c000
[37976.349349] RIP: 0010:[&amp;lt;ffffffff813c0ba0&amp;gt;]  [&amp;lt;ffffffff813c0ba0&amp;gt;] do_csum+0x70/0x180
[37976.349349] RSP: 0018:ffff88026c85f940  EFLAGS: 00010246
[37976.349349] RAX: 0000000000000000 RBX: ffff880256203000 RCX: 0000000000000040
[37976.349349] RDX: ffff880256203000 RSI: 0000000000001000 RDI: ffff880256203000
[37976.349349] RBP: ffff88026c85f940 R08: 0000000000000000 R09: 0000000000000000
[37976.349349] R10: 0000000000000040 R11: 0000000000000200 R12: 0000000000001000
[37976.349349] R13: 0000000000001000 R14: 0000000000000001 R15: 0000000000001000
[37976.349349] FS:  0000000000000000(0000) GS:ffff88033dc80000(0000) knlGS:0000000000000000
[37976.349349] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[37976.349349] CR2: ffff880256203000 CR3: 00000000933de000 CR4: 00000000000006e0
[37976.349349] Call Trace:
[37976.349349]  [&amp;lt;ffffffff813c0cbe&amp;gt;] ip_compute_csum+0xe/0x30
[37976.349349]  [&amp;lt;ffffffffa09216fe&amp;gt;] obd_dif_ip_fn+0xe/0x10 [obdclass]
[37976.349349]  [&amp;lt;ffffffffa09217c9&amp;gt;] obd_page_dif_generate_buffer+0xc9/0x190 [obdclass]
[37976.349349]  [&amp;lt;ffffffffa09216f0&amp;gt;] ? obd_dif_crc_fn+0x20/0x20 [obdclass]
[37976.349349]  [&amp;lt;ffffffffa0ba4320&amp;gt;] tgt_checksum_niobuf_rw+0x310/0xd60 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffffa09216f0&amp;gt;] ? obd_dif_crc_fn+0x20/0x20 [obdclass]
[37976.349349]  [&amp;lt;ffffffffa0b6947d&amp;gt;] ? __req_capsule_get+0x15d/0x700 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffffa0ba6b40&amp;gt;] tgt_brw_read+0xc40/0x1e80 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffff811eae74&amp;gt;] ? __kmalloc+0x634/0x660
[37976.349349]  [&amp;lt;ffffffff813bf104&amp;gt;] ? vsnprintf+0x234/0x6a0
[37976.349349]  [&amp;lt;ffffffffa08ee9c9&amp;gt;] ? lprocfs_counter_add+0xf9/0x160 [obdclass]
[37976.349349]  [&amp;lt;ffffffffa0b7b600&amp;gt;] ? null_alloc_rs+0x110/0x330 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffffa0b44a66&amp;gt;] ? lustre_pack_reply_v2+0x166/0x290 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffffa0b44bff&amp;gt;] ? lustre_pack_reply_flags+0x6f/0x1e0 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffffa0b44d81&amp;gt;] ? lustre_pack_reply+0x11/0x20 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffffa0bab755&amp;gt;] tgt_request_handle+0xaf5/0x1590 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffffa07b4017&amp;gt;] ? libcfs_debug_msg+0x57/0x80 [libcfs]
[37976.349349]  [&amp;lt;ffffffffa0b4fea6&amp;gt;] ptlrpc_server_handle_request+0x256/0xad0 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffff810b9398&amp;gt;] ? __wake_up_common+0x58/0x90
[37976.349349]  [&amp;lt;ffffffff813ccd2b&amp;gt;] ? do_raw_spin_unlock+0x4b/0x90
[37976.349349]  [&amp;lt;ffffffffa0b53c9e&amp;gt;] ptlrpc_main+0xabe/0x1f80 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffffa0b531e0&amp;gt;] ? ptlrpc_register_service+0xeb0/0xeb0 [ptlrpc]
[37976.349349]  [&amp;lt;ffffffff810ae864&amp;gt;] kthread+0xe4/0xf0
[37976.349349]  [&amp;lt;ffffffff810ae780&amp;gt;] ? kthread_create_on_node+0x140/0x140
[37976.349349]  [&amp;lt;ffffffff81783777&amp;gt;] ret_from_fork_nospec_begin+0x21/0x21
[37976.349349]  [&amp;lt;ffffffff810ae780&amp;gt;] ? kthread_create_on_node+0x140/0x140
[37976.349349] Code: 00 00 00 40 f6 c7 04 0f 85 de 00 00 00 41 89 d3 c1 ea 04 41 d1 eb 85 d2 41 89 d2 74 48 89 d1 45 31 c0 48 89 fa 66 0f 1f 44 00 00 &amp;lt;48&amp;gt; 03 02 48 13 42 08 48 13 42 10 48 13 42 18 48 13 42 20 48 13 
[37976.349349] RIP  [&amp;lt;ffffffff813c0ba0&amp;gt;] do_csum+0x70/0x180
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="237468" author="simmonsja" created="Mon, 26 Nov 2018 19:14:51 +0000"  >&lt;p&gt;Most interesting. I remember Oleg running into this problem with patch &lt;a href=&quot;https://review.whamcloud.com/#/c/33363/.&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/33363.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I couldn&apos;t see why this error was showing up so easily with that patch. This might be the cause.&lt;/p&gt;</comment>
                            <comment id="237518" author="lixi_wc" created="Tue, 27 Nov 2018 06:47:50 +0000"  >&lt;p&gt;I am checking whether there is any difference between tgt_checksum_niobuf_t10pi() and osc_checksum_bulk_t10pi(). The extent range is  &lt;span class=&quot;error&quot;&gt;&amp;#91;326-4194303&amp;#93;&lt;/span&gt;, which is not 4K aligned. I guess there might be some corner cases (e.g. page not zeroed) which might cause the problem.&lt;/p&gt;</comment>
                            <comment id="237520" author="bzzz" created="Tue, 27 Nov 2018 06:52:05 +0000"  >&lt;p&gt;I saw a similar problem with non-aligned writes where the bulk puts data into a page with non-zero offset. this can&apos;t be reproduced with adler algo. probably t10 code doesn&apos;t take lnb_page_offset into account (like osd-zfs didn&apos;t).&lt;/p&gt;</comment>
                            <comment id="237521" author="gerrit" created="Tue, 27 Nov 2018 07:24:54 +0000"  >&lt;p&gt;Li Xi (lixi@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33727&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33727&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11697&quot; title=&quot;BAD WRITE CHECKSUM with t10ip4K and t10ip512 checksums&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11697&quot;&gt;&lt;del&gt;LU-11697&lt;/del&gt;&lt;/a&gt; osc: wrong page offset for T10PI checksum&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: fcc175d6554adaddb56babf9a46510f86410aeb9&lt;/p&gt;</comment>
                            <comment id="237522" author="lixi_wc" created="Tue, 27 Nov 2018 07:26:18 +0000"  >&lt;p&gt;I found a problem of osc_checksum_bulk_t10pi(). Alex, would you please check whether it helps?&lt;/p&gt;</comment>
                            <comment id="237542" author="bzzz" created="Tue, 27 Nov 2018 18:05:30 +0000"  >&lt;p&gt;please, try with test in &lt;a href=&quot;https://review.whamcloud.com/#/c/33726/2/lustre/tests/sanity.sh&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/33726/2/lustre/tests/sanity.sh&lt;/a&gt;&lt;br/&gt;
(don&apos;t forget to remove lctl set_param osc.*.checksum_type=adler in the test)&lt;/p&gt;</comment>
                            <comment id="237545" author="adilger" created="Tue, 27 Nov 2018 19:07:34 +0000"  >&lt;p&gt;It would be best to rebase 33727 on top of 33726, and then modify the new sanity test to run through all of the checksum types.&lt;/p&gt;</comment>
                            <comment id="237583" author="bzzz" created="Wed, 28 Nov 2018 06:45:55 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=lixi_wc&quot; class=&quot;user-hover&quot; rel=&quot;lixi_wc&quot;&gt;lixi_wc&lt;/a&gt;, is page offset used in T10 algo?&lt;br/&gt;
it looks like the checksum is different if page offset on the server and the client don&apos;t match. other algorithms (e.g. adler) seem to be insensitive to this.&lt;/p&gt;</comment>
                            <comment id="237584" author="lixi_wc" created="Wed, 28 Nov 2018 07:24:54 +0000"  >&lt;p&gt;Hi Alex, page offset is not used in T10 algorithm.&lt;/p&gt;</comment>
                            <comment id="237585" author="bzzz" created="Wed, 28 Nov 2018 07:32:12 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=lixi_wc&quot; class=&quot;user-hover&quot; rel=&quot;lixi_wc&quot;&gt;lixi_wc&lt;/a&gt; then please try to run the test mentioned above. basically the client sends partial non-aligned page, but the server puts data with page offset=0. &lt;/p&gt;</comment>
                            <comment id="237591" author="bzzz" created="Wed, 28 Nov 2018 13:09:56 +0000"  >&lt;p&gt;so that test from &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11663&quot; title=&quot;corrupt data after page-unaligned write with zfs backend lustre 2.10&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11663&quot;&gt;&lt;del&gt;LU-11663&lt;/del&gt;&lt;/a&gt; passes with t10ip512, but not with 4K. how 4K version is supposed to work with partial pages?&lt;/p&gt;</comment>
                            <comment id="237619" author="adilger" created="Wed, 28 Nov 2018 21:56:25 +0000"  >&lt;p&gt;Alex, is that still failing with the 33727 patch applied on top of your 33726 patch?&lt;/p&gt;</comment>
                            <comment id="237632" author="bzzz" created="Thu, 29 Nov 2018 04:53:33 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=adilger&quot; class=&quot;user-hover&quot; rel=&quot;adilger&quot;&gt;adilger&lt;/a&gt;, yes it still fails with 4K version, but passes with 512.&lt;/p&gt;</comment>
                            <comment id="237649" author="lixi_wc" created="Thu, 29 Nov 2018 13:16:12 +0000"  >&lt;p&gt;The sanity:810 test that &lt;a href=&quot;https://review.whamcloud.com/#/c/33726/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/33726/&lt;/a&gt; adds is still 512 bytes aligned. I guess that is why T10PI512 passes the test, but T10PI4096 doesn&apos;t. If the size is not 512 bytes aliged, I guess T10PI512 will fail too.&lt;/p&gt;</comment>
                            <comment id="237650" author="bzzz" created="Thu, 29 Nov 2018 13:20:17 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=lixi_wc&quot; class=&quot;user-hover&quot; rel=&quot;lixi_wc&quot;&gt;lixi_wc&lt;/a&gt;, can you please explain why it fails depending on page offset? if we put data (2K, iirc) at 2K offset, then the checksums match, but if we put data at 0 offset, then the checksums don&apos;t match. probably I missed something, of course..&lt;/p&gt;</comment>
                            <comment id="237652" author="lixi_wc" created="Thu, 29 Nov 2018 13:27:28 +0000"  >&lt;p&gt;obd_page_dif_generate_buffer() doesn&apos;t handle the non-aligned buffer well. I am checking how T10PI handles the unaligned buffer.&lt;/p&gt;</comment>
                            <comment id="237664" author="gerrit" created="Thu, 29 Nov 2018 14:53:33 +0000"  >&lt;p&gt;Li Xi (lixi@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33752&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33752&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11697&quot; title=&quot;BAD WRITE CHECKSUM with t10ip4K and t10ip512 checksums&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11697&quot;&gt;&lt;del&gt;LU-11697&lt;/del&gt;&lt;/a&gt; obdclass: generate T10PI correctly for unaligned buffer&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 267bc620de222b23ad250f300b8ac0ad796e52f2&lt;/p&gt;</comment>
                            <comment id="237665" author="lixi_wc" created="Thu, 29 Nov 2018 14:55:14 +0000"  >&lt;p&gt;Please check whether the patch 33752 on top of 33727 works well. I am setuping an environment to test it. And also, setuping a environment with T10PI hardware to check whether everything works.&lt;/p&gt;</comment>
                            <comment id="237675" author="lixi_wc" created="Thu, 29 Nov 2018 16:13:07 +0000"  >&lt;p&gt;With patch 33752 on top of 33727, I can not reproduce the problem. I am not sure I missed anything or not, since I didn&apos;t test the original Lustre without these patches.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
# df | grep mnt
/dev/sdb1                102275928     62196   96970852   1% /mnt/mgs
/dev/sdb2                120662808     75284  110101768   1% /mnt/mdt
/dev/sdb3                170773236     61960  162004256   1% /mnt/ost
10.0.0.37@tcp:/server17  170773236     61960  162004256   1% /mnt/lustre
# lfs getstripe file
file
lmm_stripe_count:  1
lmm_stripe_size:   1048576
lmm_pattern:       raid0
lmm_layout_gen:    0
lmm_stripe_offset: 0
        obdidx           objid           objid           group
             0               2            0x2                0

# cat /proc/fs/lustre/osc/server17-OST0000-osc-ffff8805c03ff000/checksum_type 
crc32 adler crc32c t10ip512 [t10ip4K] t10crc512 t10crc4K 
# lctl set_param fail_loc=0x411
fail_loc=0x411
# dd &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;=/dev/urandom of=file bs=10240 count=2
2+0 records in
2+0 records out
20480 bytes (20 kB) copied, 0.0139395 s, 1.5 MB/s
# md5sum file 
5f67fa4f3b81beaab254a36276f659ce  file
# lctl set_param ldlm.namespaces.*osc*.lru_size=clear
ldlm.namespaces.server17-OST0000-osc-MDT0000.lru_size=clear
ldlm.namespaces.server17-OST0000-osc-ffff8805c03ff000.lru_size=clear
# md5sum file 
5f67fa4f3b81beaab254a36276f659ce  file
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="237678" author="lixi_wc" created="Thu, 29 Nov 2018 16:47:35 +0000"  >&lt;p&gt;@Alex, I can not reproduce the problem even with only patch 33727. Would you please let me know what are the exact steps to reproduce?&lt;/p&gt;</comment>
                            <comment id="237679" author="bzzz" created="Thu, 29 Nov 2018 16:50:21 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=lixi_wc&quot; class=&quot;user-hover&quot; rel=&quot;lixi_wc&quot;&gt;lixi_wc&lt;/a&gt;, revert 83cb17031913ba2f33a5b67219a03c5605f48f27 (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt;) and try that test, please.&lt;/p&gt;</comment>
                            <comment id="237721" author="lixi_wc" created="Fri, 30 Nov 2018 01:30:10 +0000"  >&lt;p&gt;Hi Alex, I am confused. Why reverting &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt; helps on reproducingt he problem? I thought the test script of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt; triggers the checksum error, right? RPC checksum should not be related to the OSD level bug.&lt;/p&gt;</comment>
                            <comment id="237723" author="lixi_wc" created="Fri, 30 Nov 2018 02:24:45 +0000"  >&lt;p&gt;I think multiple problems mixed here: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11663&quot; title=&quot;corrupt data after page-unaligned write with zfs backend lustre 2.10&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11663&quot;&gt;&lt;del&gt;LU-11663&lt;/del&gt;&lt;/a&gt;. I am confused how to reproduce the problem. &lt;/p&gt;</comment>
                            <comment id="237724" author="lixi_wc" created="Fri, 30 Nov 2018 02:56:53 +0000"  >&lt;p&gt;I can&apos;t reproduce the problem using sanity:810 test even with no patch of this ticket. So, what is the exact process of reproducing the problem?&lt;/p&gt;</comment>
                            <comment id="237727" author="hongchao.zhang" created="Fri, 30 Nov 2018 07:12:12 +0000"  >&lt;p&gt;This issue can be reproduced with checksum type &quot;t10ip512&quot;, &quot;t10ip4K&quot;, &quot;t10crc512&quot; and &quot;t10crc4K&quot;, and won&apos;t be&lt;br/&gt;
reproduced by checksum type &quot;crc32&quot;, &quot;adler&quot;, and &quot;crc32c&quot;, the reason is the data offset in pages (in this case, the offset of&lt;br/&gt;
the first page) is taken into account during calculating the &quot;t10*&quot; series checksum.&lt;/p&gt;

&lt;p&gt;the patch from &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt; fixed the issue by aligning the data with the client, but it introduced another problem when&lt;br/&gt;
committing the data into ZFS backend.&lt;/p&gt;</comment>
                            <comment id="237745" author="lixi_wc" created="Fri, 30 Nov 2018 16:49:58 +0000"  >&lt;p&gt;Hongchao and Alex, I don&apos;t understand why &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt; should be reverted. If &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt; is reverted, it will cause inconsistent offset in page between OSD and OSC, i.e. lnb_page_offset != &apos;struct brw_page&apos;-&amp;gt;off. And that would certainly means checksum error of none-page-aligned data for all checksum types, including crc32, adler and crc32c, because the checksums will be calculated from different start points between OST and OSC. Both osc_checksum_bulk() and tgt_checksum_niobuf() assumes the page offset is properly inited and should be equal to each other.&lt;/p&gt;

&lt;p&gt;That said, I will try to reproduce the probelm without reverting &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt;. Reverting &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt; and reproduce this problem doesn&apos;t look correct.&lt;/p&gt;</comment>
                            <comment id="237748" author="bzzz" created="Fri, 30 Nov 2018 17:08:16 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=lixi_wc&quot; class=&quot;user-hover&quot; rel=&quot;lixi_wc&quot;&gt;lixi_wc&lt;/a&gt; how current approach (which requires matching offsets) works on setups where page size between client and server doesn&apos;t match?&lt;/p&gt;</comment>
                            <comment id="237750" author="lixi_wc" created="Fri, 30 Nov 2018 17:33:43 +0000"  >&lt;p&gt;Hi Alex, good question. I did assume that page sizes are the same on clients and servers. However, even page sizes are different, it is still the same.&lt;/p&gt;

&lt;p&gt;In tgt_brw_write(), the server asked to transfer the data into the page with lnb_page_offset. And thus, the server should use this offset of the page to access the data, including writing to disk and calculating the RPC checksum.&lt;/p&gt;</comment>
                            <comment id="237751" author="bzzz" created="Fri, 30 Nov 2018 17:35:04 +0000"  >&lt;p&gt;so there should be no issue whether server put data (and write from) offset=1K or offset=0K, right?&lt;/p&gt;</comment>
                            <comment id="237755" author="lixi_wc" created="Fri, 30 Nov 2018 18:24:50 +0000"  >&lt;p&gt;Hi Alex, I guess this might be related to the characteristics of checksum algorithms? I am not an expert on this, but I guess not all checksum types generate the same value for the following two process:&lt;/p&gt;

&lt;p&gt;1) Calculate checksum of 3K byte and them accumulate checksum of 1K byte &lt;br/&gt;
2) Calculate checksum of 4K byte data&lt;/p&gt;

&lt;p&gt;Even the 3K byte data + 1K byte data = 4 K byte data, the checksum values of 1) and 2) might be different for some checksum types, right? I am not sure about whether T10PI checksum or crc32, crc32c supports this feature. But let&apos;s assume there is an algorithm which doesn&apos;t support this feature.&lt;/p&gt;

&lt;p&gt;Then, if we don&apos;t apply the patch of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt;, two pages with size 1K byte and 3Kbyte on client side might be changed to one page of 4K bytes on server side. Maybe checksum calculation might be different for these two cases?&lt;/p&gt;

&lt;p&gt;The problem &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10683&quot; title=&quot;write checksum errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10683&quot;&gt;&lt;del&gt;LU-10683&lt;/del&gt;&lt;/a&gt; shows with crc32c checksum, right? Since the checksum type is OBD_CKSUM_CRC32C(4). We really need to understand whether crc32c and T10PI supports this feature. Otherwise, checksum corruption might happen in the case of 1) non-page aligned I/O 2) page size differences between client and server...&lt;/p&gt;</comment>
                            <comment id="237759" author="lixi_wc" created="Fri, 30 Nov 2018 18:34:02 +0000"  >&lt;p&gt;I tend to believe 4K T10PI checksum doesn&apos;t support this feature, since it should calculate the whole page for each sector. Thus, merging data belongs to two pages on server side will corrupt the checksum for sure...&lt;/p&gt;</comment>
                            <comment id="237762" author="lixi_wc" created="Fri, 30 Nov 2018 18:45:13 +0000"  >&lt;p&gt;Hmm, I think &lt;a href=&quot;https://review.whamcloud.com/#/c/32899&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/32899&lt;/a&gt; is still needed, because of the reason that I said. And I think the key reason here is not the line of &quot;lnb&lt;span class=&quot;error&quot;&gt;&amp;#91;i&amp;#93;&lt;/span&gt;.lnb_page_offset = poff;&quot;&lt;br/&gt;
It can be changed to &quot;lnb&lt;span class=&quot;error&quot;&gt;&amp;#91;i&amp;#93;&lt;/span&gt;.lnb_page_offset = 0;&quot; and the checksum should still be the same. However, the most important codes are:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
				plen = min_t(&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;, poff + sz_in_block,
					     PAGE_SIZE);
				plen -= poff;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This fixes the problem of merging two pages into a single one.&lt;/p&gt;</comment>
                            <comment id="237768" author="adilger" created="Fri, 30 Nov 2018 20:24:04 +0000"  >&lt;p&gt;There is still a problem with T10-PI checksums for partial pages, and I don&apos;t think that &lt;a href=&quot;https://review.whamcloud.com/33752&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33752&lt;/a&gt; is fixing the problem properly.  That patch makes the T10-PI checksums consistent between the client and the server, but runs the risk of corrupting the data in the rest of the page that is being checksummed.  Also, the main problem is that a T10-PI checksum on a partial sector is never going to be correct when sent to the underlying storage.&lt;/p&gt;

&lt;p&gt;What needs to be done is to have two separate T10-PI checksums for the first and last sectors, if they are partially overwritten.  One checksum on the partial sector is needed to compute the checksum-of-checksums and match with the RPC checksum.  A second checksum needs to be computed on a whole sector after it is modified, in order to submit to disk. If whole sectors are being modified (e.g. in the 10240-byte writes and 512-byte sector size) then the partial-sector handling is not needed.&lt;/p&gt;

&lt;p&gt;In order to ensure that there is proper end-to-end integrity for the checksums, when first or last partial page has been read from disk, but before the overwrite is done, the partial checksum should be computed for the areas that are not going to be overwritten (start of first partial sector, end of last partial sector).  Ideally, the full sector will be checksummed again afterward to verify it still matches the original full-sector checksum, to verify that the partial sector checksum was done on correct data.  Then, after the BRW/RDMA has overwritten the partial page, a full-sector checksum needs to be computed from the modified data.  Next, the checksum on the first partial-sector checksum should be verified to match the original value computed, and the end partial-sector checksum should be verified against the value sent from the client.  That ensures the two (non-overlapping) parts of the sector match the original data, and that the new full-sector checksum was done on the valid data.  The full-sector checksum should be used when submitting the bio.&lt;/p&gt;

&lt;p&gt;For 2.12 it may be enough to read the page, apply the write, compute the checksum on the full sector for bio submission, and then verify that the partial-sector checksum matches the checksum from the client.  This ensures the data sent from the network is valid, with an overlap for the full-sector checksum.  The risk of corrupting the partial sector in RAM between the read/verify from disk and the overwrite is &lt;b&gt;very&lt;/b&gt; small, and if this is happening then it is likely we would see other corruption on the full-sector writes as well.  However, doing the extra partial-sector checksum for the unmodified part of the sector (as described above) would catch the case if the partial-sector overwrite is done incorrectly.&lt;/p&gt;</comment>
                            <comment id="237795" author="lixi_wc" created="Sat, 1 Dec 2018 14:26:38 +0000"  >&lt;p&gt;Hi Andreas, I agree on the long term ideal solution and 2.12 fix. And agreed that the implementation on 2.12 might be enough for most of the cases. The ideal solution is too complex thus error prone. And I doubt the correctness and usefulness of the ideal solution unless we have complex codes for fault injection.&lt;/p&gt;

&lt;p&gt;Anyway, I will refresh the &lt;a href=&quot;https://review.whamcloud.com/33752&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33752&lt;/a&gt; patch.&lt;/p&gt;</comment>
                            <comment id="237811" author="hongchao.zhang" created="Mon, 3 Dec 2018 07:38:55 +0000"  >&lt;p&gt;the checksum mismatch issue also exists for LDiskFS backend.&lt;/p&gt;</comment>
                            <comment id="237812" author="gerrit" created="Mon, 3 Dec 2018 07:39:08 +0000"  >&lt;p&gt;Hongchao Zhang (hongchao@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33768&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33768&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11697&quot; title=&quot;BAD WRITE CHECKSUM with t10ip4K and t10ip512 checksums&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11697&quot;&gt;&lt;del&gt;LU-11697&lt;/del&gt;&lt;/a&gt; osc: calc checksum at right offset&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 425fd09d48a3d564324d36fa52e31191845eda6e&lt;/p&gt;</comment>
                            <comment id="237950" author="gerrit" created="Tue, 4 Dec 2018 23:21:12 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33727/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33727/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11697&quot; title=&quot;BAD WRITE CHECKSUM with t10ip4K and t10ip512 checksums&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11697&quot;&gt;&lt;del&gt;LU-11697&lt;/del&gt;&lt;/a&gt; osc: wrong page offset for T10PI checksum&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: c1f0520554460237e835a3ad37e7d3baa0dca937&lt;/p&gt;</comment>
                            <comment id="237951" author="gerrit" created="Tue, 4 Dec 2018 23:21:20 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33752/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33752/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11697&quot; title=&quot;BAD WRITE CHECKSUM with t10ip4K and t10ip512 checksums&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11697&quot;&gt;&lt;del&gt;LU-11697&lt;/del&gt;&lt;/a&gt; ost: do not reuse T10PI guards of unaligned page write&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 6d8a7af1cd65409bdb5a307e76090ed460d5a6f6&lt;/p&gt;</comment>
                            <comment id="237953" author="pjones" created="Tue, 4 Dec 2018 23:45:07 +0000"  >&lt;p&gt;Landed for 2.12&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="54018">LU-11663</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="54189">LU-11729</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="50104">LU-10472</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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|i006tj:</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>