<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:13:26 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-14864] osd_fid_lookup() ASSERTION( !updated ) failed</title>
                <link>https://jira.whamcloud.com/browse/LU-14864</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This crash has occurred in production.&lt;/p&gt;

&lt;p&gt;A admin executed script sending fid2path requests with malformed FID. This caused the following crash on the MDT0000.&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;
[65226.320307] LustreError: 24497:0:(osd_handler.c:1368:osd_fid_lookup()) ASSERTION( !updated ) failed: 
[65226.321549] LustreError: 24497:0:(osd_handler.c:1368:osd_fid_lookup()) LBUG
[65226.322160] Pid: 24497, comm: mdt00_004 3.10.0-1127.8.2.el7_lustre.x86_64 #1 SMP Mon Jun 8 13:48:45 UTC 2020
[65226.322161] Call Trace:
[65226.322171]  [&amp;lt;ffffffffc09c57cc&amp;gt;] libcfs_call_trace+0x8c/0xc0 [libcfs]
[65226.322180]  [&amp;lt;ffffffffc09c587c&amp;gt;] lbug_with_loc+0x4c/0xa0 [libcfs]
[65226.322184]  [&amp;lt;ffffffffc113c4e1&amp;gt;] osd_fid_lookup+0x17e1/0x1d90 [osd_ldiskfs]
[65226.322192]  [&amp;lt;ffffffffc113caf1&amp;gt;] osd_object_init+0x61/0x110 [osd_ldiskfs]
[65226.322198]  [&amp;lt;ffffffffc0c0d82b&amp;gt;] lu_object_start.isra.35+0x8b/0x120 [obdclass]
[65226.322221]  [&amp;lt;ffffffffc0c11744&amp;gt;] lu_object_find_at+0x234/0xab0 [obdclass]
[65226.322235]  [&amp;lt;ffffffffc0c11fd6&amp;gt;] lu_object_find+0x16/0x20 [obdclass]
[65226.322248]  [&amp;lt;ffffffffc12e146b&amp;gt;] mdt_object_find+0x4b/0x170 [mdt]
[65226.322259]  [&amp;lt;ffffffffc12ed0a5&amp;gt;] mdt_rpc_fid2path+0x4a5/0x17c0 [mdt]
[65226.322267]  [&amp;lt;ffffffffc12ee770&amp;gt;] mdt_get_info+0x3b0/0x490 [mdt]
[65226.322275]  [&amp;lt;ffffffffc0f5489a&amp;gt;] tgt_request_handle+0xada/0x1570 [ptlrpc]
[65226.322319]  [&amp;lt;ffffffffc0ef973b&amp;gt;] ptlrpc_server_handle_request+0x24b/0xab0 [ptlrpc]
[65226.322343]  [&amp;lt;ffffffffc0efd0a4&amp;gt;] ptlrpc_main+0xb34/0x1470 [ptlrpc]
[65226.322366]  [&amp;lt;ffffffffa2ac6691&amp;gt;] kthread+0xd1/0xe0
[65226.322369]  [&amp;lt;ffffffffa3192d37&amp;gt;] ret_from_fork_nospec_end+0x0/0x39
[65226.322372]  [&amp;lt;ffffffffffffffff&amp;gt;] 0xffffffffffffffff
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;After some troubleshooting, I was able to reproduce the issue on a 2.12.7.&lt;/p&gt;

&lt;p&gt;Here are the following steps:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Format filesystem (ldiskfs and mount FS&lt;/li&gt;
	&lt;li&gt;umount MDT0000&lt;/li&gt;
	&lt;li&gt;Mount MDT0000 as ldiskfs and modify OI_scrub file (binary) by clearing the &lt;font color=&quot;#2e3436&quot;&gt;SIF_NO_HANDLE_OLD_FID&lt;/font&gt; in &lt;font color=&quot;#2e3436&quot;&gt;sf_internal_flags&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;Remount MDT0000 as lustre&lt;/li&gt;
	&lt;li&gt;Get the inode number of&#160; a Lustre system file:&lt;br/&gt;
 debugfs -c -R &apos;stat lfsck_layout&apos; /dev/mapper/mds1_flakey&lt;br/&gt;
 Inode: 132 ....&lt;/li&gt;
	&lt;li&gt;Execute fid2path with inode as FID (IGIF FID):&lt;br/&gt;
 lfs fid2path /media/lustrefs/client 0x84&lt;/li&gt;
	&lt;li&gt;Crash&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Dk log extracted from the crash:&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;
00000004:00000040:0.0:1626701081.815693:0:24497:0:(mdt_handler.c:5736:mdt_object_init()) object init, fid = [0x84:0x0:0x0]
00000004:00000010:0.0:1626701081.815695:0:24497:0:(mdd_object.c:277:mdd_object_alloc()) slab-alloced &lt;span class=&quot;code-quote&quot;&gt;&apos;mdd_obj&apos;&lt;/span&gt;: 96 at ffff9c86d6d6a120.
00000004:00000001:0.0:1626701081.815697:0:24497:0:(mdt_handler.c:5745:mdt_object_init()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00000004:00000001:0.0:1626701081.815698:0:24497:0:(mdd_object.c:299:mdd_object_init()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000004:00000001:0.0:1626701081.815699:0:24497:0:(lod_dev.c:212:lod_object_alloc()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000004:00000010:0.0:1626701081.815700:0:24497:0:(lod_dev.c:214:lod_object_alloc()) slab-alloced &lt;span class=&quot;code-quote&quot;&gt;&apos;lod_obj&apos;&lt;/span&gt;: 152 at ffff9c8699f347b8.
00000004:00000001:0.0:1626701081.815701:0:24497:0:(lod_dev.c:224:lod_object_alloc()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446634700655249336 : -109373054302280 : ffff9c8699f347b8)
00000004:00000001:0.0:1626701081.815701:0:24497:0:(mdd_object.c:309:mdd_object_init()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00000004:00000001:0.0:1626701081.815703:0:24497:0:(lod_object.c:6967:lod_object_init()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00000004:00000001:0.0:1626701081.815703:0:24497:0:(lod_dev.c:128:lod_fld_lookup()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
80000000:00000001:0.0:1626701081.815704:0:24497:0:(fld_handler.c:248:fld_server_lookup()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
80000000:00000001:0.0:1626701081.815704:0:24497:0:(fld_handler.c:212:fld_local_lookup()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
80000000:00000001:0.0:1626701081.815705:0:24497:0:(fld_cache.c:517:fld_cache_lookup()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
80000000:00000001:0.0:1626701081.815705:0:24497:0:(fld_cache.c:536:fld_cache_lookup()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
80000000:00000001:0.0:1626701081.815706:0:24497:0:(fld_handler.c:229:fld_local_lookup()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
80000000:00000001:0.0:1626701081.815706:0:24497:0:(fld_handler.c:252:fld_server_lookup()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00000004:00000040:0.0:1626701081.815707:0:24497:0:(lod_dev.c:169:lod_fld_lookup()) lustrefs-MDT0000-mdtlov: got tgt 0 &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; sequence: 0x84
00000004:00000001:0.0:1626701081.815708:0:24497:0:(lod_dev.c:171:lod_fld_lookup()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00080000:00000010:0.0:1626701081.815709:0:24497:0:(osd_handler.c:420:osd_object_alloc()) kmalloced &lt;span class=&quot;code-quote&quot;&gt;&apos;(mo)&apos;&lt;/span&gt;: 200 at ffff9c86d56fc400.
00000004:00000001:0.0:1626701081.815710:0:24497:0:(lod_object.c:7010:lod_object_init()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00080000:00000001:0.0:1626701081.815711:0:24497:0:(osd_handler.c:1142:osd_fid_lookup()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00080000:00000001:0.0:1626701081.815712:0:24497:0:(osd_oi.c:576:fid_is_on_ost()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00080000:00000001:0.0:1626701081.815712:0:24497:0:(osd_oi.c:584:fid_is_on_ost()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00080000:00000001:0.0:1626701081.815713:0:24497:0:(osd_handler.c:628:osd_iget_check()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00080000:00000001:0.0:1626701081.815715:0:24497:0:(osd_handler.c:770:osd_iget_check()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving via put (rc=0 : 0 : 0x0)
00080000:00000001:0.0:1626701081.815715:0:24497:0:(osd_handler.c:854:osd_check_lma()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00080000:00000001:0.0:1626701081.815722:0:24497:0:(osd_handler.c:929:osd_check_lma()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446744073709551538 : -78 : ffffffffffffffb2)
00080000:00000001:0.0:1626701081.815723:0:24497:0:(osd_oi.c:576:fid_is_on_ost()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00080000:00000001:0.0:1626701081.815723:0:24497:0:(osd_oi.c:584:fid_is_on_ost()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00080000:00000001:0.0:1626701081.815723:0:24497:0:(osd_oi.c:576:fid_is_on_ost()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00080000:00000001:0.0:1626701081.815723:0:24497:0:(osd_oi.c:584:fid_is_on_ost()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00080000:00000001:0.0:1626701081.815724:0:24497:0:(osd_handler.c:628:osd_iget_check()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00080000:00000001:0.0:1626701081.815724:0:24497:0:(osd_handler.c:770:osd_iget_check()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving via put (rc=0 : 0 : 0x0)
00080000:00000001:0.0:1626701081.815725:0:24497:0:(osd_handler.c:854:osd_check_lma()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00080000:00000001:0.0:1626701081.815725:0:24497:0:(osd_handler.c:929:osd_check_lma()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446744073709551538 : -78 : ffffffffffffffb2)
00080000:00040000:0.0:1626701081.815726:0:24497:0:(osd_handler.c:1368:osd_fid_lookup()) ASSERTION( !updated ) failed: 
00080000:00040000:0.0:1626701081.816969:0:24497:0:(osd_handler.c:1368:osd_fid_lookup()) LBUG
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It appears that the flag &lt;font color=&quot;#2e3436&quot;&gt;SIF_NO_HANDLE_OLD_FID&lt;/font&gt; was not set in older versions of Lustre. In our case the FS was formatted in Lustre 2.7. But I checked some other filesystems with a Lustre&apos;s clusterstore version and they seem to be affected too.&lt;/p&gt;

&lt;p&gt;This cause&#160;&lt;font color=&quot;#2e3436&quot;&gt;od_igif_inoi&lt;/font&gt; flag to not be set in osd_device.&lt;br/&gt;
 And then the following code get the inode directly from the FID&apos;s sequence (as in Lustre 1.8 for IGIF FID):&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;
&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; osd_oi_lookup(....
....
         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!osd-&amp;gt;od_igif_inoi &amp;amp;&amp;amp; fid_is_igif(fid)) {              
                 osd_id_gen(id, lu_igif_ino(fid), lu_igif_gen(fid));
                 &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; 0;                                          
         }                                                          
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Then osd_check_lma returns an error because FID in LMA and the current FID (IGIF: &lt;span class=&quot;error&quot;&gt;&amp;#91;0x84:0x0:0x0&amp;#93;&lt;/span&gt;) does not match:&#160;&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;
&lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; osd_check_lma(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_env *env, struct osd_object *obj)
......
         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (fid != NULL &amp;amp;&amp;amp; unlikely(!lu_fid_eq(rfid, fid))) {                    
                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (fid_is_idif(rfid) &amp;amp;&amp;amp; fid_is_idif(fid)) {                     
                         ...................                                    
                 }                                                                
                                                                                  
                 rc = -EREMCHG;                                                   
         }                                                                        
&#160;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment>Lustre 2.12.6 with ldiskfs (with MDT0000 formatted in Lustre 2.7)</environment>
        <key id="65292">LU-14864</key>
            <summary>osd_fid_lookup() ASSERTION( !updated ) failed</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="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="eaujames">Etienne Aujames</assignee>
                                    <reporter username="eaujames">Etienne Aujames</reporter>
                        <labels>
                    </labels>
                <created>Mon, 19 Jul 2021 19:58:06 +0000</created>
                <updated>Sat, 1 Apr 2023 05:49:17 +0000</updated>
                                            <version>Lustre 2.11.0</version>
                    <version>Lustre 2.12.0</version>
                    <version>Lustre 2.13.0</version>
                    <version>Lustre 2.14.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="307773" author="eaujames" created="Mon, 19 Jul 2021 20:26:34 +0000"  >&lt;p&gt;This issue can be prevented by running oi_scrub 1 time on the MDT0000:&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;
lctl lfsck_start -M lustrefs-MDT0000 -t scrub
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This is the reason why:&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;
osd_scrub_setup( ....
.....
         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (sf-&amp;gt;sf_flags &amp;amp; SF_UPGRADE ||                           
             !(sf-&amp;gt;sf_internal_flags &amp;amp; SIF_NO_HANDLE_OLD_FID ||     
    -------&amp;gt;   sf-&amp;gt;sf_success_count &amp;gt; 0)) {                         
                 dev-&amp;gt;od_igif_inoi = 0;                             
                 dev-&amp;gt;od_check_ff = dev-&amp;gt;od_is_ost;                 
         } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {                                                   
                 dev-&amp;gt;od_igif_inoi = 1;                             
                 dev-&amp;gt;od_check_ff = 0;                              
         }                                                          

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="307795" author="adilger" created="Mon, 19 Jul 2021 23:02:47 +0000"  >&lt;p&gt;It looks like this code has been in place since commit v2_4_92_0-66-g3ce87d9ab4 (2.5.0 release).  Are you sure the filesystem wasn&apos;t formatted before 2.7.0?  There definitely have not been IGIF FIDs in use since pre-2.0 releases, though I guess it is possible for IGIFs to be created for inodes that lose their &lt;tt&gt;trusted.lma&lt;/tt&gt; xattr. In any case, running OI Scrub at least once is needed in this case to process all of the MDT inodes .&lt;/p&gt;</comment>
                            <comment id="307874" author="eaujames" created="Tue, 20 Jul 2021 19:17:02 +0000"  >&lt;p&gt;Hello Andreas,&lt;/p&gt;

&lt;p&gt;All the filesystems affected (3) by the issue was formatted in Lustre 2.7.&lt;/p&gt;

&lt;p&gt;I tested to format a filesystem in Lustre 2.7 and the SIF_NO_HANDLE_OLD_FID is set.&lt;/p&gt;

&lt;p&gt;So I suspected that the flag was cleared during an upgrade.&lt;/p&gt;

&lt;p&gt;Here what I have found (upgrade between 2.7 and 2.12.7):&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;
scrub_file_load()) lustre-MDT0000: fail to load scrub file, expected = 408: rc = 400
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;scrub_file_load returns -EFAULT because the &quot;struct scrub_file&quot; change between 2.7 and 2.12.7.&lt;/p&gt;

&lt;p&gt;Then the flag SIF_NO_HANDLE_OLD_FID is cleared by this code (OI_scrub is overwritten) :&#160;&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;
osd_scrub_setup( ....
.....
        rc = scrub_file_load(env, scrub);                                 
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc == -ENOENT || rc == -EFAULT) {                             
                scrub_file_init(scrub, es-&amp;gt;s_uuid);                       
                /* If the &lt;span class=&quot;code-quote&quot;&gt;&quot;/O&quot;&lt;/span&gt; dir does not exist when mount (indicated by
                 * osd_device::od_maybe_new), neither &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the &lt;span class=&quot;code-quote&quot;&gt;&quot;/OI_scrub&quot;&lt;/span&gt;,
                 * then it is quite probably that the device is a &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; one,
                 * under such &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;, mark it as SIF_NO_HANDLE_OLD_FID.     
                 *                                                        
                 * For the rare &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; that &lt;span class=&quot;code-quote&quot;&gt;&quot;/O&quot;&lt;/span&gt; and &lt;span class=&quot;code-quote&quot;&gt;&quot;OI_scrub&quot;&lt;/span&gt; both lost on
                 * an old device, it can be found and cleared later.      
                 *                                                        
                 * For the system with &lt;span class=&quot;code-quote&quot;&gt;&quot;SIF_NO_HANDLE_OLD_FID&quot;&lt;/span&gt;, we &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; not 
                 * need to check &lt;span class=&quot;code-quote&quot;&gt;&quot;filter_fid_18_23&quot;&lt;/span&gt; and to convert it to  
                 * &lt;span class=&quot;code-quote&quot;&gt;&quot;filter_fid&quot;&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; each object, and all the IGIF should  
                 * have their FID mapping in OI files already. */         
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (dev-&amp;gt;od_maybe_new &amp;amp;&amp;amp; rc == -ENOENT)                   
                        sf-&amp;gt;sf_internal_flags = SIF_NO_HANDLE_OLD_FID;    
                dirty = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
         } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc &amp;lt; 0) {                                             
.................
         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (dirty) {                              
                 rc = scrub_file_store(env, scrub);
                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc)                           
                         GOTO(cleanup_obj, rc);    
         }                                         

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The patch that has changed the structure is &lt;a href=&quot;https://review.whamcloud.com/29857&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/29857&lt;/a&gt; (&quot;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9019&quot; title=&quot;Migrate lustre to standard 64 bit time kernel API&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9019&quot;&gt;&lt;del&gt;LU-9019&lt;/del&gt;&lt;/a&gt; osd-ldiskfs: migrate to 64 bit time&quot;):&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;
-       __u32   sf_run_time;
+       /* How &lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; the OI scrub has run in seconds. Do NOT change
+        * to time64_t since &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; breaks backwards compatibility.
+        * It shouldn&apos;t take more than 136 years to complete :-)
+        */
+       time_t  sf_run_time;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;time_t is not 32bit size but 64bit (on x86_64):&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;
crash&amp;gt; struct scrub_file -o              
struct scrub_file {                      
    [0] __u8 sf_uuid[16];                
   [16] __u64 sf_flags;                  
   [24] __u32 sf_magic;                  
   [28] __u16 sf_status;                 
   [30] __u16 sf_param;                  
   [32] time64_t sf_time_last_complete;  
   [40] time64_t sf_time_latest_start;   
   [48] time64_t sf_time_last_checkpoint;
   [56] __u64 sf_pos_latest_start;       
   [64] __u64 sf_pos_last_checkpoint;    
   [72] __u64 sf_pos_first_inconsistent; 
   [80] __u64 sf_items_checked;          
   [88] __u64 sf_items_updated;          
   [96] __u64 sf_items_failed;           
  [104] __u64 sf_items_updated_prior;    
  [112] __u64 sf_items_noscrub;          
  [120] __u64 sf_items_igif;             
  [128] time_t sf_run_time;              
  [136] __u32 sf_success_count;          
  [140] __u16 sf_oi_count;               
  [142] __u16 sf_internal_flags;         
  [144] __u32 sf_reserved_1;             
  [152] __u64 sf_reserved_2[16];         
  [280] __u8 sf_oi_bitmap[128];          
}                                        
SIZE: 408
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This patch has landed on Lustre 2.11.0.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="20917">LU-3934</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="19004">LU-3335</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="42994">LU-9019</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="75162">LU-16655</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="39717" name="getinfo_fid2path.txt" size="270" author="eaujames" created="Mon, 19 Jul 2021 20:09:19 +0000"/>
                            <attachment id="39718" name="gf_root_fid.txt" size="72" author="eaujames" created="Mon, 19 Jul 2021 20:09:29 +0000"/>
                            <attachment id="39719" name="osd_device.txt" size="16700" author="eaujames" created="Mon, 19 Jul 2021 20:09:35 +0000"/>
                            <attachment id="39720" name="vmcore-dk.log" size="85074780" author="eaujames" created="Mon, 19 Jul 2021 20:10:02 +0000"/>
                            <attachment id="39721" name="vmcore-dmesg.txt" size="114967" author="eaujames" created="Mon, 19 Jul 2021 20:10:08 +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|i01zlr:</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>