<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:10:43 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-14549] getxattr for lustre.lov and trusted.lov sometimes wrong after mirror split</title>
                <link>https://jira.whamcloud.com/browse/LU-14549</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;4/10 times running the following I see the old layout returned from getfattr:&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;rm -f f0
echo XXX &amp;gt; f0
lfs mirror extend -N -p fast f0
cat f0
lfs mirror split --delete --pool=fast f0
getfattr -n trusted.lov -e text --only-values f0 | hexdump -C
lfs getstripe f0
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;# rm -f f0
# echo XXX &amp;gt; f0
# lfs mirror extend -N -p fast f0
# cat f0
XXX
# lfs mirror split --delete --pool=fast f0
# getfattr -n trusted.lov -e text --only-values f0 | hexdump -C
00000000  d0 0b d6 0b 20 01 00 00  02 00 00 00 01 00 02 00  |.... ...........|
00000010  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  01 00 01 00 10 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  ff ff ff ff ff ff ff ff  80 00 00 00 38 00 00 00  |............8...|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  01 00 02 00 10 00 00 00  00 00 00 00 00 00 00 00  |................|
00000060  ff ff ff ff ff ff ff ff  b8 00 00 00 48 00 00 00  |............H...|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000080  d0 0b d1 0b 01 00 00 00  00 00 00 00 00 00 00 00  |................|
00000090  00 00 00 00 00 00 00 00  00 00 10 00 01 00 00 00  |................|
000000a0  23 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |#...............|
000000b0  00 00 00 00 01 00 00 00  d0 0b d3 0b 01 00 00 00  |................|
000000c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000d0  00 00 10 00 01 00 00 00  66 61 73 74 00 00 00 00  |........fast....|
000000e0  00 00 00 00 00 00 00 00  24 00 00 00 00 00 00 00  |........$.......|
000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000120
# lfs getstripe f0
f0
  lcm_layout_gen:    3
  lcm_mirror_count:  1
  lcm_entry_count:   1
    lcme_id:             65537
    lcme_mirror_id:      1
    lcme_flags:          init
    lcme_extent.e_start: 0
    lcme_extent.e_end:   EOF
      lmm_stripe_count:  1
      lmm_stripe_size:   1048576
      lmm_pattern:       raid0
      lmm_layout_gen:    0
      lmm_stripe_offset: 1
      lmm_objects:
      - 0: { l_ost_idx: 1, l_fid: [0x100010000:0x23:0x0] }

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="63496">LU-14549</key>
            <summary>getxattr for lustre.lov and trusted.lov sometimes wrong after mirror split</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="bobijam">Zhenyu Xu</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>bjhpflr</label>
                    </labels>
                <created>Wed, 24 Mar 2021 15:10:19 +0000</created>
                <updated>Fri, 16 Jul 2021 18:13:36 +0000</updated>
                            <resolved>Thu, 27 May 2021 19:07:01 +0000</resolved>
                                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="301758" author="gerrit" created="Mon, 17 May 2021 09:20:57 +0000"  >&lt;p&gt;Bobi Jam (bobijam@hotmail.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/43716&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43716&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14549&quot; title=&quot;getxattr for lustre.lov and trusted.lov sometimes wrong after mirror split&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14549&quot;&gt;&lt;del&gt;LU-14549&lt;/del&gt;&lt;/a&gt; llite: refresh layout after mirror merge/split&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: affedc28e95b2a63db920e0a1d76514325522867&lt;/p&gt;</comment>
                            <comment id="301799" author="adilger" created="Mon, 17 May 2021 20:09:30 +0000"  >&lt;p&gt;Strangely, I was testing this on my local filesystem (2.12 client, 2.14 server, without the 43718 patch) the layout generation was reset to &quot;1&quot; after &quot;&lt;tt&gt;lfs mirror extend&lt;/tt&gt;&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; $ lfs getstripe /myth/tmp/adilger/flr-multi
  lcm_layout_gen:    8
  lcm_mirror_count:  2
  lcm_entry_count:   4
    lcme_id:             65537
    lcme_mirror_id:      1
      lmm_layout_gen:    0
    :
    lcme_id:             65538
    lcme_mirror_id:      1
      lmm_layout_gen:    0
      :
    lcme_id:             65539
    lcme_mirror_id:      1
      lmm_layout_gen:    0
      :
    lcme_id:             131076
    lcme_mirror_id:      2
      :
$ lfs mirror extend -N -c 1 /myth/tmp/adilger/flr-multi
$ getfattr -n lustre.lov --only-values /myth/tmp/adilger/flr-multi | od -tx4 |&amp;amp; awk &apos;/000000 / { print &quot;0x&quot;$4; exit; }&apos;
0000000 0bd60bd0 000002a8 00000001 00050001
$ $ lfs getstripe /myth/tmp/adilger/flr-multi 
/myth/tmp/adilger/flr-multi
  lcm_layout_gen:    1
  lcm_mirror_count:  3
  lcm_entry_count:   5
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;somehow the &lt;tt&gt;lcm_layout_gen&lt;/tt&gt; went from 8 to 1 on a file that hadn&apos;t been modified in a long time (created 2021-04-07, and both client and server have been rebooted since then)?  If I add new mirrors to that file now, &lt;tt&gt;lcm_layout_gen&lt;/tt&gt; is being incremented properly, but it seems like it isn&apos;t being read from disk the first time?&lt;/p&gt;</comment>
                            <comment id="301990" author="bobijam" created="Wed, 19 May 2021 09:46:19 +0000"  >&lt;p&gt;My theory of layout gen went from 8 to 1 is this, in current LOD code, the layout merge increases the layout generation and write to LOVEA&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;lod_declare_layout_merge&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
...
3379         &lt;span class=&quot;code-comment&quot;&gt;/* fixup layout information */&lt;/span&gt;                                          
3380         lod_obj_inc_layout_gen(lo);                                                     
3381         lcm-&amp;gt;lcm_layout_gen = cpu_to_le32(lo-&amp;gt;ldo_layout_gen);                  
3382         lcm-&amp;gt;lcm_size = cpu_to_le32(size);                                      
3383         lcm-&amp;gt;lcm_entry_count = cpu_to_le16(cur_entry_count + merge_entry_count);
3384         lcm-&amp;gt;lcm_mirror_count = cpu_to_le16(mirror_count);                      
3385         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ((le16_to_cpu(lcm-&amp;gt;lcm_flags) &amp;amp; LCM_FL_FLR_MASK) == LCM_FL_NONE)     
3386                 lcm-&amp;gt;lcm_flags = cpu_to_le32(LCM_FL_RDONLY);                    
3387                                                                                 
3388         rc = lod_striping_reload(env, lo, buf);                                 
3389         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc)                                                                 
3390                 GOTO(out, rc);                                                  
3391                                                                                 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;where the lod_object (@lo) could possibly be not initialized and line 3380 increases the layout_gen to 1 and line 3388 set the lod_object&apos;s in-memory layout.&lt;/p&gt;

&lt;p&gt;While patch &lt;a href=&quot;https://review.whamcloud.com/43472/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43472/&lt;/a&gt; fixes this as it set the lod_object&apos;s in-memory layout first, then increases its layout generation&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;lod_declare_layout_merege in #43472&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
3409         &lt;span class=&quot;code-comment&quot;&gt;/* fixup layout information */&lt;/span&gt;                                          
3410         lcm-&amp;gt;lcm_size = cpu_to_le32(size);                                      
3411         lcm-&amp;gt;lcm_entry_count = cpu_to_le16(cur_entry_count + merge_entry_count);
3412         lcm-&amp;gt;lcm_mirror_count = cpu_to_le16(mirror_count);                      
3413         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ((le16_to_cpu(lcm-&amp;gt;lcm_flags) &amp;amp; LCM_FL_FLR_MASK) == LCM_FL_NONE)     
3414                 lcm-&amp;gt;lcm_flags = cpu_to_le32(LCM_FL_RDONLY);                    
3415                                                                                 
3416         rc = lod_striping_reload(env, lo, buf);                                 
3417         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc)                                                                 
3418                 GOTO(out, rc);                                                  
3419                                                                                 
3420         lod_obj_inc_layout_gen(lo);                                             
3421         lcm-&amp;gt;lcm_layout_gen = cpu_to_le32(lo-&amp;gt;ldo_layout_gen);                  
3422                                                                    
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="302836" author="gerrit" created="Thu, 27 May 2021 18:18:42 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/43716/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43716/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14549&quot; title=&quot;getxattr for lustre.lov and trusted.lov sometimes wrong after mirror split&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14549&quot;&gt;&lt;del&gt;LU-14549&lt;/del&gt;&lt;/a&gt; llite: refresh layout after mirror merge/split&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: bd7a20f8be4644ebce6a7225560ae933204f543d&lt;/p&gt;</comment>
                            <comment id="302859" author="pjones" created="Thu, 27 May 2021 19:07:01 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10323">
                    <name>Gantt End to End</name>
                                            <outwardlinks description="has to be finished together with">
                                        <issuelink>
            <issuekey id="63363">LU-14526</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </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|i01qdz:</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>