<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:24:28 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-16152] PFL YAML file with extent &gt;= 2G leads to overflow when used as template; may trigger MDS kernel panic</title>
                <link>https://jira.whamcloud.com/browse/LU-16152</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;When applying a YAML layout file with extents of 2147483648 or larger, these extents appear as 18446744071562067968. Example:&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;
# lfs setstripe -E 2048M -c 4 -E EOF -c 8 testdir
# lfs getstripe --yaml -d testdir &amp;gt; 2048M.lyl
# cat 2048M.lyl
&#160; lcm_layout_gen: &#160; &#160;0
&#160; lcm_mirror_count: &#160;1
&#160; lcm_entry_count: &#160; 2
&#160; component0:
&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; N/A
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;N/A
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;0
&#160; &#160; lcme_extent.e_start: 0
&#160; &#160; lcme_extent.e_end: &#160; 2147483648
&#160; &#160; sub_layout:
&#160; &#160; &#160; stripe_count: &#160;4
&#160; &#160; &#160; stripe_size: &#160; 1048576
&#160; &#160; &#160; pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; stripe_offset: -1&#160; component1:
&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; N/A
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;N/A
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;0
&#160; &#160; lcme_extent.e_start: 2147483648
&#160; &#160; lcme_extent.e_end: &#160; EOF
&#160; &#160; sub_layout:
&#160; &#160; &#160; stripe_count: &#160;8
&#160; &#160; &#160; stripe_size: &#160; 1048576
&#160; &#160; &#160; pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; stripe_offset: -1

# mkdir tst_2048M
# lfs setstripe --yaml 2048M.lyl tst_2048M
# lfs getstripe -d tst_2048M
&#160; lcm_layout_gen: &#160; &#160;0
&#160; lcm_mirror_count: &#160;1
&#160; lcm_entry_count: &#160; 2
&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; N/A
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;N/A
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;0
&#160; &#160; lcme_extent.e_start: 0
&#160; &#160; lcme_extent.e_end: &#160; 18446744071562067968
&#160; &#160; &#160; stripe_count: &#160;4 &#160; &#160; &#160; stripe_size: &#160; 1048576 &#160; &#160; &#160; pattern: &#160; &#160; &#160; raid0 &#160; &#160; &#160; stripe_offset: -1&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; N/A
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;N/A
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;0
&#160; &#160; lcme_extent.e_start: 18446744071562067968
&#160; &#160; lcme_extent.e_end: &#160; EOF
&#160; &#160; &#160; stripe_count: &#160;8 &#160; &#160; &#160; stripe_size: &#160; 1048576 &#160; &#160; &#160; pattern: &#160; &#160; &#160; raid0 &#160; &#160; &#160; stripe_offset: -1&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Using &quot;lfs setstripe --copy testdir&quot; instead of &quot;lfs setstripe --yaml 2048M.lyl&quot; works as intended. Ending the first component at 2047M works with either method.&lt;/p&gt;

&lt;p&gt;Unfortunately, I did not catch this in time and several files were restriped with similar insane layouts. Attempts to re-stripe them properly occasionally trigger kernel panics on the metadata server. Here is one of the early ones, which would happen immediately after the MDS recovered after reboot.&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;
[Aug31 20:55] Lustre: DFS-L-MDT0000: Denying connection &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; client 65a07c20-0fc9-26df-0102-6dd1be2412e7 (at 10.201.32.11@o2ib1), waiting &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; 369 known clients (329 recovered, 6 in progress, and 0 evicted) to recover in 4:19
[ +13.335095] Lustre: DFS-L-MDT0000: Recovery over after 0:54, of 369 clients 369 recovered and 0 were evicted.
[ &#160;+0.001392] LustreError: 41361:0:(osd_io.c:311:kmem_to_page()) ASSERTION( !((unsigned &lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt;)addr &amp;amp; ~(~(((1UL) &amp;lt;&amp;lt; 12)-1))) ) failed:&#160;
[ &#160;+0.000079] LustreError: 41361:0:(osd_io.c:311:kmem_to_page()) LBUG
[ &#160;+0.000038] Pid: 41361, comm: mdt_io00_002 3.10.0-1160.49.1.el7.x86_64 #1 SMP Tue Nov 30 15:51:32 UTC 2021
[ &#160;+0.000001] Call Trace:
[ &#160;+0.000013] &#160;[&amp;lt;ffffffffc0b647cc&amp;gt;] libcfs_call_trace+0x8c/0xc0 [libcfs]
[ &#160;+0.000015] &#160;[&amp;lt;ffffffffc0b6487c&amp;gt;] lbug_with_loc+0x4c/0xa0 [libcfs]
[ &#160;+0.000008] &#160;[&amp;lt;ffffffffc11d3a7c&amp;gt;] osd_zap_lookup.isra.15.part.16+0x0/0x36 [osd_zfs]
[ &#160;+0.000017] &#160;[&amp;lt;ffffffffc11b845f&amp;gt;] osd_bufs_get+0x5ff/0xf80 [osd_zfs]
[ &#160;+0.000011] &#160;[&amp;lt;ffffffffc1361389&amp;gt;] mdt_obd_preprw+0xd09/0x10a0 [mdt]
[ &#160;+0.000032] &#160;[&amp;lt;ffffffffc103365e&amp;gt;] tgt_brw_read+0xa1e/0x1ed0 [ptlrpc]
[ &#160;+0.000095] &#160;[&amp;lt;ffffffffc1031eea&amp;gt;] tgt_request_handle+0xada/0x1570 [ptlrpc]
[ &#160;+0.000058] &#160;[&amp;lt;ffffffffc0fd6bcb&amp;gt;] ptlrpc_server_handle_request+0x24b/0xab0 [ptlrpc]
[ &#160;+0.000047] &#160;[&amp;lt;ffffffffc0fda534&amp;gt;] ptlrpc_main+0xb34/0x1470 [ptlrpc]
[ &#160;+0.000044] &#160;[&amp;lt;ffffffffa2ec5e61&amp;gt;] kthread+0xd1/0xe0
[ &#160;+0.000008] &#160;[&amp;lt;ffffffffa3595df7&amp;gt;] ret_from_fork_nospec_end+0x0/0x39
[ &#160;+0.000008] &#160;[&amp;lt;ffffffffffffffff&amp;gt;] 0xffffffffffffffff
[ &#160;+0.000026] Kernel panic - not syncing: LBUG
[ &#160;+0.000030] CPU: 22 PID: 41361 Comm: mdt_io00_002 Tainted: P &#160; &#160; &#160; &#160; &#160; OE &#160;------------ &#160; 3.10.0-1160.49.1.el7.x86_64 #1
[ &#160;+0.000059] Hardware name: Dell Inc. PowerEdge R630/02C2CP, BIOS 2.11.0 11/02/2019
[ &#160;+0.000043] Call Trace:
[ &#160;+0.000021] &#160;[&amp;lt;ffffffffa3583539&amp;gt;] dump_stack+0x19/0x1b
[ &#160;+0.000042] &#160;[&amp;lt;ffffffffa357d241&amp;gt;] panic+0xe8/0x21f
[ &#160;+0.000037] &#160;[&amp;lt;ffffffffc0b648cb&amp;gt;] lbug_with_loc+0x9b/0xa0 [libcfs]
[ &#160;+0.000050] &#160;[&amp;lt;ffffffffc11d3a7c&amp;gt;] kmem_to_page.part.16+0x36/0x36 [osd_zfs]
[ &#160;+0.000052] &#160;[&amp;lt;ffffffffc11b845f&amp;gt;] osd_bufs_get+0x5ff/0xf80 [osd_zfs]
[ &#160;+0.000056] &#160;[&amp;lt;ffffffffc1361389&amp;gt;] mdt_obd_preprw+0xd09/0x10a0 [mdt]
[ &#160;+0.000085] &#160;[&amp;lt;ffffffffc103365e&amp;gt;] tgt_brw_read+0xa1e/0x1ed0 [ptlrpc]
[ &#160;+0.000082] &#160;[&amp;lt;ffffffffc0d1df29&amp;gt;] ? lprocfs_counter_add+0xf9/0x160 [obdclass]
[ &#160;+0.000087] &#160;[&amp;lt;ffffffffc1001cd6&amp;gt;] ? null_alloc_rs+0x186/0x340 [ptlrpc]
[ &#160;+0.000080] &#160;[&amp;lt;ffffffffc0fc9985&amp;gt;] ? lustre_pack_reply_v2+0x135/0x290 [ptlrpc]
[ &#160;+0.000084] &#160;[&amp;lt;ffffffffc0fc9b4f&amp;gt;] ? lustre_pack_reply_flags+0x6f/0x1e0 [ptlrpc]
[ &#160;+0.000080] &#160;[&amp;lt;ffffffffc0fc9cd1&amp;gt;] ? lustre_pack_reply+0x11/0x20 [ptlrpc]
[ &#160;+0.000088] &#160;[&amp;lt;ffffffffc1031eea&amp;gt;] tgt_request_handle+0xada/0x1570 [ptlrpc]
[ &#160;+0.000085] &#160;[&amp;lt;ffffffffc100b601&amp;gt;] ? ptlrpc_nrs_req_get_nolock0+0xd1/0x170 [ptlrpc]
[ &#160;+0.000052] &#160;[&amp;lt;ffffffffc0b64bde&amp;gt;] ? ktime_get_real_seconds+0xe/0x10 [libcfs]
[ &#160;+0.000080] &#160;[&amp;lt;ffffffffc0fd6bcb&amp;gt;] ptlrpc_server_handle_request+0x24b/0xab0 [ptlrpc]
[ &#160;+0.000082] &#160;[&amp;lt;ffffffffc0fd36e5&amp;gt;] ? ptlrpc_wait_event+0xa5/0x360 [ptlrpc]
[ &#160;+0.000042] &#160;[&amp;lt;ffffffffa2ed3233&amp;gt;] ? __wake_up+0x13/0x20
[ &#160;+0.000070] &#160;[&amp;lt;ffffffffc0fda534&amp;gt;] ptlrpc_main+0xb34/0x1470 [ptlrpc]
[ &#160;+0.000077] &#160;[&amp;lt;ffffffffc0fd9a00&amp;gt;] ? ptlrpc_register_service+0xf80/0xf80 [ptlrpc]
[ &#160;+0.000045] &#160;[&amp;lt;ffffffffa2ec5e61&amp;gt;] kthread+0xd1/0xe0
[ &#160;+0.000032] &#160;[&amp;lt;ffffffffa2ec5d90&amp;gt;] ? insert_kthread_work+0x40/0x40
[ &#160;+0.000048] &#160;[&amp;lt;ffffffffa3595df7&amp;gt;] ret_from_fork_nospec_begin+0x21/0x21
[ &#160;+0.000040] &#160;[&amp;lt;ffffffffa2ec5d90&amp;gt;] ? insert_kthread_work+0x40/0x40
[ &#160;+0.000042] ------------[ cut here ]------------
[ &#160;+0.000032] WARNING: CPU: 26 PID: 6640 at arch/x86/kernel/smp.c:127 native_smp_send_reschedule+0x65/0x70
[ &#160;+0.000042] Modules linked in: osp(OE) mdd(OE) lod(OE) mdt(OE) lfsck(OE) mgs(OE) mgc(OE) osd_zfs(OE) lquota(OE) fid(OE) fld(OE) ptlrpc(OE) obdclass(OE) crct10dif_generic ksocklnd(OE) ko2iblnd(OE) lnet(OE) rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace libcfs(OE) fscache iTCO_wdt iTCO_vendor_support mxm_wmi dcdbas sb_edac intel_powerclamp coretemp intel_rapl iosf_mbi zfs(POE) mgag200 i2c_algo_bit ttm kvm drm_kms_helper irqbypass crct10dif_pclmul crc32_pclmul crc32c_intel syscopyarea ghash_clmulni_intel sysfillrect sysimgblt fb_sys_fops aesni_intel lrw gf128mul glue_helper zunicode(POE) ablk_helper cryptd drm zlua(POE) pcspkr zcommon(POE) znvpair(POE) zavl(POE) icp(POE) lpc_ich drm_panel_orientation_quirks mei_me mei ib_iser spl(OE) libiscsi scsi_transport_iscsi ses enclosure sg wmi
[ &#160;+0.000434] &#160;acpi_power_meter rpcrdma sunrpc ib_ipoib rdma_ucm ib_umad rdma_cm ib_cm iw_cm sch_fq ip_tables ipmi_si ipmi_devintf ipmi_msghandler mlx5_ib ib_uverbs ib_core mlx5_core mlxfw devlink mpt3sas raid_class scsi_transport_sas tg3 ptp pps_core ahci libahci libata sd_mod crc_t10dif crct10dif_common
[ &#160;+0.000164] CPU: 26 PID: 6640 Comm: z_wr_iss Tainted: P &#160; &#160; &#160; &#160; &#160; OE &#160;------------ &#160; 3.10.0-1160.49.1.el7.x86_64 #1
[ &#160;+0.000046] Hardware name: Dell Inc. PowerEdge R630/02C2CP, BIOS 2.11.0 11/02/2019
[ &#160;+0.001264] Call Trace:
[ &#160;+0.001247] &#160;[&amp;lt;ffffffffa3583539&amp;gt;] dump_stack+0x19/0x1b
[ &#160;+0.001259] &#160;[&amp;lt;ffffffffa2e9b278&amp;gt;] __warn+0xd8/0x100
[ &#160;+0.001253] &#160;[&amp;lt;ffffffffa2e9b3bd&amp;gt;] warn_slowpath_null+0x1d/0x20
[ &#160;+0.001226] &#160;[&amp;lt;ffffffffa2e59495&amp;gt;] native_smp_send_reschedule+0x65/0x70
[ &#160;+0.001200] &#160;[&amp;lt;ffffffffa2edac9e&amp;gt;] try_to_wake_up+0x2fe/0x390
[ &#160;+0.001188] &#160;[&amp;lt;ffffffffa2edadab&amp;gt;] wake_up_q+0x5b/0x80
[ &#160;+0.001177] &#160;[&amp;lt;ffffffffa318f18b&amp;gt;] rwsem_wake+0x8b/0xe0
[ &#160;+0.001156] &#160;[&amp;lt;ffffffffa31981eb&amp;gt;] call_rwsem_wake+0x1b/0x30
[ &#160;+0.001140] &#160;[&amp;lt;ffffffffc08505e5&amp;gt;]

 &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Killing off all processes on the clients stuck on IO, then re-mounting the filesystem allowed the metadata server to stay up. A &quot;lctl lfsck_start -A -c -C -o&quot; completed with no major issues, and scrubbing the zpools also completed successfully, so I don&apos;t think data was lost.&lt;/p&gt;

&lt;p&gt;Searching this Jira and the Internet did not get me any relevant hits for either the PFL YAML issue or failed assertion.&lt;/p&gt;</description>
                <environment>Servers: CentOS 7.9 (3.10.0-1160.49.1.el7.x86_64), Lustre 2.12.8, ZFS 0.8.5&lt;br/&gt;
2.12 Clients: CentOS 7.9 (3.10.0-1160.53.1.el7.x86_64), Lustre 2.12.8&lt;br/&gt;
2.15 Clients: CentOS 7.9 (3.10.0-1160.76.1.el7.x86_64), Lustre 2.15.1</environment>
        <key id="72339">LU-16152</key>
            <summary>PFL YAML file with extent &gt;= 2G leads to overflow when used as template; may trigger MDS kernel panic</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="flei">Feng Lei </assignee>
                                    <reporter username="nathan.crawford@uci.edu">Nathan Crawford</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 Sep 2022 00:07:10 +0000</created>
                <updated>Thu, 24 Aug 2023 00:41:07 +0000</updated>
                            <resolved>Wed, 19 Jul 2023 02:50:59 +0000</resolved>
                                    <version>Lustre 2.12.8</version>
                    <version>Lustre 2.15.1</version>
                                    <fixVersion>Lustre 2.16.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="347749" author="adilger" created="Fri, 23 Sep 2022 17:31:12 +0000"  >&lt;p&gt;Feng, can you please take a look. Probably int vs long parsing or similar?&lt;/p&gt;

&lt;p&gt;In addition to fixing the YAML parsing, the MDS should also be modified so that it does a sanity check on this field and does not crash on bad data from disk or the network. &lt;/p&gt;</comment>
                            <comment id="347851" author="gerrit" created="Mon, 26 Sep 2022 06:36:07 +0000"  >&lt;p&gt;&quot;Feng Lei &amp;lt;flei@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/48649&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/48649&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16152&quot; title=&quot;PFL YAML file with extent &amp;gt;= 2G leads to overflow when used as template; may trigger MDS kernel panic&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16152&quot;&gt;&lt;del&gt;LU-16152&lt;/del&gt;&lt;/a&gt; utils: fix integer overflow in cYAML parser&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 65ec793b1cbdce477d288865e5d4f0ac3d071365&lt;/p&gt;</comment>
                            <comment id="347852" author="flei" created="Mon, 26 Sep 2022 06:36:57 +0000"  >&lt;p&gt;The patch above fixes only the cYAML parser. Need another patch for param checking in kernel.&lt;/p&gt;</comment>
                            <comment id="348003" author="flei" created="Tue, 27 Sep 2022 07:57:53 +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;&#160;&lt;/p&gt;

&lt;p&gt;Is it OK to define any negative value except EOF (-1) (and other pre-defined special values?) as invalid for extent start/end (if covert them to s64)?&lt;/p&gt;</comment>
                            <comment id="348013" author="adilger" created="Tue, 27 Sep 2022 10:24:16 +0000"  >&lt;p&gt;Yes, the negative offsets should be considered invalid. With the YAML parser fixed, are there other sources of invalid start/end offsets?&lt;/p&gt;</comment>
                            <comment id="348020" author="flei" created="Tue, 27 Sep 2022 11:53:50 +0000"  >&lt;p&gt;It&apos;s hard to know where the invalid data is from. The lu_extent.e_start and lu_extent.e_end are both u64 type, so there is no invalid u64 data unless we define some data (e.g., s64 negative values except -1) as invalid on MDS.&lt;/p&gt;</comment>
                            <comment id="350764" author="nathan.crawford@uci.edu" created="Tue, 25 Oct 2022 19:58:10 +0000"  >&lt;p&gt;Is it possible to recover any files that have been migrated with these bad extents? Attempts to read the files, or use lfs_migrate/lfs migrate to restripe them with something sensible triggers the kernel panic on the MDS immediately. Manually deleting the problematic components (when not initialized yet), then &quot;lfs migrate -c 1 badfile&quot; leads to errors such as: &quot;lfs migrate: cannot get group lock: Invalid argument (22)&quot;&lt;/p&gt;

&lt;p&gt;Verbose striping info on bad file:&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;composite_header:
&#160; lcm_magic: &#160; &#160; &#160; &#160; 0x0BD60BD0
&#160; lcm_size: &#160; &#160; &#160; &#160; &#160;552
&#160; lcm_flags: &#160; &#160; &#160; &#160; 0
&#160; lcm_layout_gen: &#160; &#160;2
&#160; lcm_mirror_count: &#160;1
&#160; lcm_entry_count: &#160; 5
components:
&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 131073
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;2
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 0
&#160; &#160; lcme_extent.e_end: &#160; 131072
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 272
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 32
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000b836
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x19a
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000b836:0x19a:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;0
&#160; &#160; &#160; lmm_stripe_size: &#160; 131072
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; mdt
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 0

&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 131074
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;2
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 131072
&#160; &#160; lcme_extent.e_end: &#160; 16777216
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 304
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 56
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000b836
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x19a
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000b836:0x19a:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;1
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 6
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 6, l_fid: [0x100060000:0x2de85:0x0] }

&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 131075
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;2
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 16777216
&#160; &#160; lcme_extent.e_end: &#160; 1073741824
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 360
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 80
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000b836
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x19a
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000b836:0x19a:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;2
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 2
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 2, l_fid: [0x100020000:0x861394f:0x0] }
&#160; &#160; &#160; - 1: { l_ost_idx: 5, l_fid: [0x100050000:0x12e4858e:0x0] }

&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 131076
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;2
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;0
&#160; &#160; lcme_extent.e_start: 1073741824
&#160; &#160; lcme_extent.e_end: &#160; 18446744071562067968
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 440
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 56
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000b836
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x19a
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000b836:0x19a:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;4
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: -1

&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 131077
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;2
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;0
&#160; &#160; lcme_extent.e_start: 18446744071562067968
&#160; &#160; lcme_extent.e_end: &#160; EOF
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 496
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 56
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000b836
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x19a
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000b836:0x19a:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;8
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: -1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;After &quot;lfs setstripe --comp-del -I 131077 badfile; lfs setstripe --comp-del -I 131076 badfile&quot;&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;&#160; lcm_layout_gen: &#160; &#160;4
&#160; lcm_mirror_count: &#160;1
&#160; lcm_entry_count: &#160; 3
&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 131073
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;2
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 0
&#160; &#160; lcme_extent.e_end: &#160; 131072
&#160; &#160; &#160; lmm_stripe_count: &#160;0
&#160; &#160; &#160; lmm_stripe_size: &#160; 131072
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; mdt
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 0

&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 131074
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;2
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 131072
&#160; &#160; lcme_extent.e_end: &#160; 16777216
&#160; &#160; &#160; lmm_stripe_count: &#160;1
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 6
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 6, l_fid: [0x100060000:0x2de85:0x0] }

&#160; &#160; lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 131075
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;2
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 16777216
&#160; &#160; lcme_extent.e_end: &#160; 1073741824
&#160; &#160; &#160; lmm_stripe_count: &#160;2
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 2
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 2, l_fid: [0x100020000:0x861394f:0x0] }
&#160; &#160; &#160; - 1: { l_ost_idx: 5, l_fid: [0x100050000:0x12e4858e:0x0] }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Alternately, is there a way to disable this assertion for long enough to migrate the files back into shape?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="350772" author="adilger" created="Tue, 25 Oct 2022 21:18:06 +0000"  >&lt;p&gt;Nathan, the patch &lt;a href=&quot;https://review.whamcloud.com/48684&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/48684&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16194&quot; title=&quot;Define negative PFL extent start/end as invalid&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16194&quot;&gt;LU-16194&lt;/a&gt; lod: define negative extent offset as invalid&lt;/tt&gt;&quot; should stop the MDS from crashing, but it will currently mark the whole file as having an invalid layout and the files would be inaccessible  It may be possible to change the code temporarily so that &lt;tt&gt;e_start/e_end = 0xffffffffnnnnnnnn&lt;/tt&gt; are interpreted as &lt;tt&gt;0xnnnnnnnn&lt;/tt&gt;, but this hasn&apos;t been implemented yet.&lt;/p&gt;

&lt;p&gt;I left some notes in that patch so you could potentially make a patch to fix this yourself, I don&apos;t think it would be too complex.  This would both allow you to migrate the affected files without crashing (it would &quot;fix&quot; the layouts in memory only), and ideally be a proper patch that could be landed in case anyone else is affected by this bug before the YAML import fix is widely deployed.&lt;/p&gt;</comment>
                            <comment id="350785" author="nathan.crawford@uci.edu" created="Tue, 25 Oct 2022 23:06:25 +0000"  >&lt;p&gt;Thanks! Will attempt and report.&lt;/p&gt;</comment>
                            <comment id="351298" author="nathan.crawford@uci.edu" created="Mon, 31 Oct 2022 19:20:59 +0000"  >&lt;p&gt;Attempted to patch as in referenced &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16194&quot; title=&quot;Define negative PFL extent start/end as invalid&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16194&quot;&gt;LU-16194&lt;/a&gt;, but kernel panic remains. I&apos;m attaching my patches against 2.12.8 to &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/46279/46279_lod_lov.c.patch&quot; title=&quot;lod_lov.c.patch attached to LU-16152&quot;&gt;lod_lov.c.patch&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/46280/46280_lod_object.c.patch&quot; title=&quot;lod_object.c.patch attached to LU-16152&quot;&gt;lod_object.c.patch&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;, and &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/46281/46281_lov_ea.c.patch&quot; title=&quot;lov_ea.c.patch attached to LU-16152&quot;&gt;lov_ea.c.patch&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;.&#160;&lt;/p&gt;

&lt;p&gt;Notes:&lt;br/&gt;
&#160; &#8211; I&apos;m not familiar with best practices for CWARN messages and don&apos;t know what useful info should be included. Made some guesses.&lt;br/&gt;
&#160; &#8211; In the few seconds the MDS was up before panicking, I saw some of the CWARN message come though from both lod_lov.c and lod_object.c. I believe that they were interpreting extent.e_end=eof as &quot;-1&quot;, then converting it to 4G. The extent-end-checking part needs to handle this; I&apos;ll try to rig something up.&lt;br/&gt;
&#160; &#8211; The lov_ea.c patch compiles, but was not tested. I don&apos;t know how to get the FID into the error message. Is there anything in the scope of lsm_unpackmd_comp_md_v1() that is recommended to use?&lt;/p&gt;

&lt;p&gt;I&apos;m going to spin up a single-server, single-client system to try to reproduce the bug and test fixes. For now, I&apos;ve set the subdirectory that was migrated to 000 permissions. I believe the problem files are all there.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="351333" author="flei" created="Tue, 1 Nov 2022 06:47:12 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=nathan.crawford%40uci.edu&quot; class=&quot;user-hover&quot; rel=&quot;nathan.crawford@uci.edu&quot;&gt;nathan.crawford@uci.edu&lt;/a&gt;&#160;&lt;/p&gt;

&lt;p&gt;I guess LUSTRE_EOF should be excluded, so the condition should be like this:&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-c&quot;&gt;
if (lsme-&amp;gt;lsme_extent.e_start != LUSTRE_EOF &amp;amp;&amp;amp; 
    (lsme-&amp;gt;lsme_extent.e_start &amp;gt;&amp;gt; 32) == 0xffffffffULL)

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="351447" author="adilger" created="Wed, 2 Nov 2022 04:44:38 +0000"  >&lt;p&gt;Nathan, I grabbed your patches yesterday and was working on a patch that I could push to Gerrit instead of as attachments here. There were a few changes that I&apos;d made from your patches - made a &lt;tt&gt;LOD_COMP_EXT_BAD&lt;/tt&gt; constant, moved all of the extent checks into a helper function instead of duplicating the code multiple times. &lt;/p&gt;

&lt;p&gt;One question I am had wa which Lustre version your patch was against? One of the patches didn&apos;t apply and the code didn&apos;t look very similar. &lt;/p&gt;</comment>
                            <comment id="351448" author="adilger" created="Wed, 2 Nov 2022 04:45:53 +0000"  >&lt;p&gt;Feng Lei, it isn&apos;t clear whether there is a valid case where &lt;tt&gt;e_start == LUSTRE_EOF&lt;/tt&gt; is ever valid?&lt;/p&gt;</comment>
                            <comment id="351451" author="flei" created="Wed, 2 Nov 2022 05:03:04 +0000"  >&lt;p&gt;No &lt;tt&gt;e_start == LUSTRE_EOF&lt;/tt&gt;. I mean do not convert LUSTRE_EOF from &lt;tt&gt;0xffff ffff ffff ffff&lt;/tt&gt; to &lt;tt&gt;0x0000 0000 ffff ffff&lt;/tt&gt; for &lt;tt&gt;e_end&lt;/tt&gt;;&lt;/p&gt;</comment>
                            <comment id="351555" author="nathan.crawford@uci.edu" created="Wed, 2 Nov 2022 18:55:39 +0000"  >&lt;p&gt;Andreas, the patches were generated against 2.12.8 with commands like &quot;git diff 2.12.8 lustre/lov/lov_ea.c&quot;. The actual version of lustre is 6 commits past 2.12.8 on b2_12 (up to 5457c37ec9f76e2fb1656c29848412522dbb81fd, &quot;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15292&quot; title=&quot;kernel update [RHEL7.9 3.10.0-1160.49.1.el7]&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15292&quot;&gt;&lt;del&gt;LU-15292&lt;/del&gt;&lt;/a&gt; kernel: kernel update RHEL7.9 &lt;span class=&quot;error&quot;&gt;&amp;#91;3.10.0-1160.49.1.el7&amp;#93;&lt;/span&gt;&quot;, 2 Dec 2021). The only other modifications were fixes to lustre-dkms_pre-build.sh to cope with an output format change of &quot;dkms status&quot;, and to config/lustre-build-zfs.m4 to handle when multiple subdirectories of /usr/src match &quot;&amp;#42;zfs&amp;#42;&quot;.&lt;/p&gt;</comment>
                            <comment id="351566" author="nathan.crawford@uci.edu" created="Wed, 2 Nov 2022 19:58:04 +0000"  >&lt;p&gt;Regarding the kernel panics on the MDS, I have NOT been able to reproduce them on a single-server test system. I can generate files with the bad PFL, read them, copy them, restripe them with lfs_migrate, etc..&#160;&lt;/p&gt;

&lt;p&gt;Also confusing: some files on the original problem file system that previously had bad extent values do not now, but still panic when accessed.&lt;/p&gt;

&lt;p&gt;I will try a few more permutations of setting bad layouts and restriping on the test system to see if I can re-create the panic.&lt;/p&gt;</comment>
                            <comment id="351568" author="nathan.crawford@uci.edu" created="Wed, 2 Nov 2022 20:18:04 +0000"  >&lt;p&gt;An example bad 20K file (with reasonable extent values):&lt;/p&gt;

&lt;p&gt;du --apparent-size&#160; badfile&lt;br/&gt;
20&lt;/p&gt;

&lt;p&gt;but the output from &quot;lfs getstripe -v badfile&quot; looks like it belongs to a different file:&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;composite_header:
&#160; lcm_magic: &#160; &#160; &#160; &#160; 0x0BD60BD0
&#160; lcm_size: &#160; &#160; &#160; &#160; &#160;744
&#160; lcm_flags: &#160; &#160; &#160; &#160; 0
&#160; lcm_layout_gen: &#160; &#160;6
&#160; lcm_mirror_count: &#160;1
&#160; lcm_entry_count: &#160; 5
components:
&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 1
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;0
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 0
&#160; &#160; lcme_extent.e_end: &#160; 131072
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 272
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 32
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000ec94
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x1defe
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000ec94:0x1defe:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;0
&#160; &#160; &#160; lmm_stripe_size: &#160; 131072
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; mdt
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 0

&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 2
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;0
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 131072
&#160; &#160; lcme_extent.e_end: &#160; 16777216
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 304
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 56
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000ec94
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x1defe
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000ec94:0x1defe:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;1
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 1
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 1, l_fid: [0x100010000:0x76112e4:0x0] }

&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 3
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;0
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 16777216
&#160; &#160; lcme_extent.e_end: &#160; 1073741824
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 360
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 80
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000ec94
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x1defe
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000ec94:0x1defe:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;2
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 2
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 2, l_fid: [0x100020000:0x74e2831:0x0] }
&#160; &#160; &#160; - 1: { l_ost_idx: 3, l_fid: [0x100030000:0xa0cadca:0x0] }

&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 4
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;0
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 1073741824
&#160; &#160; lcme_extent.e_end: &#160; 34359738368
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 440
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 128
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000ec94
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x1defe
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000ec94:0x1defe:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;4
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 3
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 3, l_fid: [0x100030000:0xa0cadcb:0x0] }
&#160; &#160; &#160; - 1: { l_ost_idx: 5, l_fid: [0x100050000:0x115f8373:0x0] }
&#160; &#160; &#160; - 2: { l_ost_idx: 2, l_fid: [0x100020000:0x74e2832:0x0] }
&#160; &#160; &#160; - 3: { l_ost_idx: 1, l_fid: [0x100010000:0x76112e5:0x0] }

&#160; - lcme_id: &#160; &#160; &#160; &#160; &#160; &#160; 5
&#160; &#160; lcme_mirror_id: &#160; &#160; &#160;0
&#160; &#160; lcme_flags: &#160; &#160; &#160; &#160; &#160;init
&#160; &#160; lcme_extent.e_start: 34359738368
&#160; &#160; lcme_extent.e_end: &#160; EOF
&#160; &#160; lcme_offset: &#160; &#160; &#160; &#160; 568
&#160; &#160; lcme_size: &#160; &#160; &#160; &#160; &#160; 176
&#160; &#160; sub_layout:
&#160; &#160; &#160; lmm_magic: &#160; &#160; &#160; &#160; 0x0BD10BD0
&#160; &#160; &#160; lmm_seq: &#160; &#160; &#160; &#160; &#160; 0x20000ec94
&#160; &#160; &#160; lmm_object_id: &#160; &#160; 0x1defe
&#160; &#160; &#160; lmm_fid: &#160; &#160; &#160; &#160; &#160; [0x20000ec94:0x1defe:0x0]
&#160; &#160; &#160; lmm_stripe_count: &#160;6
&#160; &#160; &#160; lmm_stripe_size: &#160; 1048576
&#160; &#160; &#160; lmm_pattern: &#160; &#160; &#160; raid0
&#160; &#160; &#160; lmm_layout_gen: &#160; &#160;0
&#160; &#160; &#160; lmm_stripe_offset: 0
&#160; &#160; &#160; lmm_objects:
&#160; &#160; &#160; - 0: { l_ost_idx: 0, l_fid: [0x100000000:0x6c01b46:0x0] }
&#160; &#160; &#160; - 1: { l_ost_idx: 3, l_fid: [0x100030000:0xa0cadcc:0x0] }
&#160; &#160; &#160; - 2: { l_ost_idx: 1, l_fid: [0x100010000:0x76112e6:0x0] }
&#160; &#160; &#160; - 3: { l_ost_idx: 5, l_fid: [0x100050000:0x115f8374:0x0] }
&#160; &#160; &#160; - 4: { l_ost_idx: 4, l_fid: [0x100040000:0xa4c5a4d:0x0] }
&#160; &#160; &#160; - 5: { l_ost_idx: 2, l_fid: [0x100020000:0x74e2833:0x0] }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="352054" author="gerrit" created="Mon, 7 Nov 2022 22:42:07 +0000"  >&lt;p&gt;&quot;Andreas Dilger &amp;lt;adilger@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/49065&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/49065&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16152&quot; title=&quot;PFL YAML file with extent &amp;gt;= 2G leads to overflow when used as template; may trigger MDS kernel panic&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16152&quot;&gt;&lt;del&gt;LU-16152&lt;/del&gt;&lt;/a&gt; lov: handle negative PFL layout offsets&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: baf015a9582594c9b8c3589d54f18f60fdb04f34&lt;/p&gt;</comment>
                            <comment id="352055" author="adilger" created="Mon, 7 Nov 2022 22:46:04 +0000"  >&lt;p&gt;Nathan, I&apos;ve pushed what I &lt;em&gt;think&lt;/em&gt; is a reasonable update of your patches into Gerrit, but it is totally untested.  Please take a look.  Note that this patch is on master, so you might need to massage it a bit to apply to b2_12.&lt;/p&gt;</comment>
                            <comment id="352093" author="gerrit" created="Tue, 8 Nov 2022 08:50:32 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/48649/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/48649/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16152&quot; title=&quot;PFL YAML file with extent &amp;gt;= 2G leads to overflow when used as template; may trigger MDS kernel panic&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16152&quot;&gt;&lt;del&gt;LU-16152&lt;/del&gt;&lt;/a&gt; utils: fix integer overflow in cYAML parser&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 53b3d1de99277f8d3e4af475986802ee3dcdd304&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="72557">LU-16194</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="46219" name="BadPFL.txt" size="3058" author="nathan.crawford@uci.edu" created="Tue, 25 Oct 2022 19:45:07 +0000"/>
                            <attachment id="46279" name="lod_lov.c.patch" size="1951" author="nathan.crawford@uci.edu" created="Mon, 31 Oct 2022 18:39:18 +0000"/>
                            <attachment id="46280" name="lod_object.c.patch" size="1170" author="nathan.crawford@uci.edu" created="Mon, 31 Oct 2022 18:40:01 +0000"/>
                            <attachment id="46281" name="lov_ea.c.patch" size="1079" author="nathan.crawford@uci.edu" created="Mon, 31 Oct 2022 18:41:52 +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|i0302n:</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>