<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:33:58 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-17261] stat(2) should be able to use a good replica</title>
                <link>https://jira.whamcloud.com/browse/LU-17261</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;a replica representation in LOV EA can be broken like this one:&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;
lcm_layout_gen: 7
lcm_mirror_count: 2
lcm_entry_count: 2
lcme_id: 65538
lcme_mirror_id: 1
lcme_flags: init,stale
lcme_extent.e_start: 134217728
lcme_extent.e_end: 1073741824
lmm_stripe_count: 16
lmm_stripe_size: 16777216
lmm_pattern: 40000001
lmm_layout_gen: 1
lmm_stripe_offset: 4294967295
lmm_objects:
- 0: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 1: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 2: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 3: { l_ost_idx: 5, l_fid: [0xbc0000406:0x42fce0eb:0x0] }
- 4: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 5: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 6: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 7: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 8: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 9: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 10: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 11: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 12: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 13: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 14: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
- 15: { l_ost_idx: -1, l_fid: [0:0x0:0x0] }
 
lcme_id: 131073
lcme_mirror_id: 2
lcme_flags: init
lcme_extent.e_start: 0
lcme_extent.e_end: EOF
lmm_stripe_count: 16
lmm_stripe_size: 1048576
lmm_pattern: raid0
lmm_layout_gen: 0
lmm_stripe_offset: 5
lmm_pool: hdd-pool
lmm_objects:
- 0: { l_ost_idx: 5, l_fid: [0xbc0000406:0x42feb0aa:0x0] }
- 1: { l_ost_idx: 8, l_fid: [0x8c0000402:0x3bf10cb:0x0] }
- 2: { l_ost_idx: 15, l_fid: [0x9c0000402:0x11f1d8f:0x0] }
- 3: { l_ost_idx: 13, l_fid: [0x900000402:0x77529c35:0x0] }
- 4: { l_ost_idx: 0, l_fid: [0x300000403:0x3beded4:0x0] }
- 5: { l_ost_idx: 7, l_fid: [0xa80000402:0x11e9898:0x0] }
- 6: { l_ost_idx: 12, l_fid: [0x880000402:0x3bef34f:0x0] }
- 7: { l_ost_idx: 10, l_fid: [0xa40000402:0x11d9d9d:0x0] }
- 8: { l_ost_idx: 14, l_fid: [0xa00000402:0x11e4d68:0x0] }
- 9: { l_ost_idx: 2, l_fid: [0xb80000402:0x11d545a:0x0] }
- 10: { l_ost_idx: 6, l_fid: [0xb40000400:0x11f22d9:0x0] }
- 11: { l_ost_idx: 4, l_fid: [0x2c0000403:0x4016eb6:0x0] }
- 12: { l_ost_idx: 9, l_fid: [0x940000402:0xaf7b184a:0x0] }
- 13: { l_ost_idx: 11, l_fid: [0x980000402:0x11dc273:0x0] }
- 14: { l_ost_idx: 1, l_fid: [0xac0000404:0x3015313c:0x0] }
- 15: { l_ost_idx: 3, l_fid: [0xb00000400:0x11dd9bb:0x0] } 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;but regular stat should use any valid replica, not return an error once a bogus one is met.&lt;/p&gt;</description>
                <environment></environment>
        <key id="78766">LU-17261</key>
            <summary>stat(2) should be able to use a good replica</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="bzzz">Alex Zhuravlev</assignee>
                                    <reporter username="bzzz">Alex Zhuravlev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Nov 2023 10:35:14 +0000</created>
                <updated>Thu, 11 Jan 2024 22:35:35 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="391619" author="adilger" created="Fri, 3 Nov 2023 10:43:26 +0000"  >&lt;p&gt;I think we prefer to stat both mirrors, so that the blocks count is updated. However, it is OK to stat only one copy of the other is broken. &lt;/p&gt;</comment>
                            <comment id="391620" author="bzzz" created="Fri, 3 Nov 2023 10:47:21 +0000"  >&lt;p&gt;this is what happens literally:&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;
00020000:00000001:4.0:1698862926.643457:0:3746:0:(lov_ea.c:251:lsme_unpack()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving via out_lsme (rc=18446744073709551594 : -22 : 0xffffffffffffffea)
00020000:00000010:4.0:1698862926.643458:0:3746:0:(lov_ea.c:290:lsme_unpack()) slab-freed &lt;span class=&quot;code-quote&quot;&gt;&apos;(lsme-&amp;gt;lsme_oinfo[i])&apos;&lt;/span&gt;: 112 at ffff9d87eab4c480.
00020000:00000010:4.0:1698862926.643459:0:3746:0:(lov_ea.c:292:lsme_unpack()) kfreed &lt;span class=&quot;code-quote&quot;&gt;&apos;lsme&apos;&lt;/span&gt;: 128 at ffff9d87eab4ce80.
00020000:00000001:4.0:1698862926.643460:0:3746:0:(lov_ea.c:487:lsm_unpackmd_comp_md_v1()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving via out_lsm (rc=18446744073709551594 : -22 : 0xffffffffffffffea)
00020000:00000010:4.0:1698862926.643461:0:3746:0:(lov_ea.c:522:lsm_unpackmd_comp_md_v1()) kfreed &lt;span class=&quot;code-quote&quot;&gt;&apos;lsm&apos;&lt;/span&gt;: 72 at ffff9d8e3015c360.
00020000:00000001:4.0:1698862926.643462:0:3746:0:(lov_ea.c:524:lsm_unpackmd_comp_md_v1()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446744073709551594 : -22 : ffffffffffffffea)
00020000:00000001:4.0:1698862926.643463:0:3746:0:(lov_pack.c:345:lov_unpackmd()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446744073709551594 : -22 : ffffffffffffffea)
00020000:00000001:4.0:1698862926.643464:0:3746:0:(lov_object.c:1299:lov_object_init()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446744073709551594 : -22 : ffffffffffffffea)
00020000:00000001:4.0:1698862926.643467:0:3746:0:(lov_object.c:1386:lov_object_delete()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00020000:00000002:4.0:1698862926.643467:0:3746:0:(lov_object.c:1125:lov_conf_freeze()) To take share lov(ffff9d8c2ce92170) owner           (&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;)/ffff9d82c6d80000
00020000:00000001:5.0:1698862926.643490:0:3746:0:(lov_object.c:1191:lov_layout_wait()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00020000:00000001:5.0:1698862926.643491:0:3746:0:(lov_object.c:1201:lov_layout_wait()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=0 : 0 : 0)
00020000:00000002:5.0:1698862926.643492:0:3746:0:(lov_object.c:1133:lov_conf_thaw()) To release share lov(ffff9d8c2ce92170) owner           (&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;)/ffff9d82c6d80000
00020000:00000001:5.0:1698862926.643493:0:3746:0:(lov_object.c:1388:lov_object_delete()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving
00020000:00000001:5.0:1698862926.643494:0:3746:0:(lov_object.c:1395:lov_object_free()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; entered
00020000:00000002:5.0:1698862926.643494:0:3746:0:(lov_object.c:1125:lov_conf_freeze()) To take share lov(ffff9d8c2ce92170) owner           (&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;)/ffff9d82c6d80000
00020000:00000002:5.0:1698862926.643495:0:3746:0:(lov_object.c:1133:lov_conf_thaw()) To release share lov(ffff9d8c2ce92170) owner           (&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;)/ffff9d82c6d80000
00020000:00000010:5.0:1698862926.643497:0:3746:0:(lov_object.c:1398:lov_object_free()) slab-freed &lt;span class=&quot;code-quote&quot;&gt;&apos;(lov)&apos;&lt;/span&gt;: 184 at ffff9d8c2ce92170.
00020000:00000001:5.0:1698862926.643499:0:3746:0:(lov_object.c:1399:lov_object_free()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving
00000080:00000010:5.0:1698862926.643500:0:3746:0:(vvp_object.c:272:vvp_object_free()) slab-freed &lt;span class=&quot;code-quote&quot;&gt;&apos;(vob)&apos;&lt;/span&gt;: 176 at ffff9d92e4f2cdc0.
00000020:00000001:5.0:1698862926.643502:0:3746:0:(lu_object.c:814:lu_object_find_at()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446744073709551594 : -22 : ffffffffffffffea)
00000080:00020000:5.0:1698862926.643504:0:3746:0:(lcommon_cl.c:197:cl_file_inode_init()) nbp19: failed to initialize cl_object [0x3c005662a:0xc4f1:0x0]: rc = -22
00000020:00001000:5.0:1698862926.646200:0:3746:0:(cl_object.c:832:cl_env_put()) 1@ffff9d86304433f0
00000080:00000001:5.0:1698862926.646203:0:3746:0:(llite_lib.c:2260:ll_read_inode2()) &lt;span class=&quot;code-object&quot;&gt;Process&lt;/span&gt; leaving (rc=18446744073709551594 : -22 : ffffffffffffffea)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;the very first error leads to an user visible error.&lt;/p&gt;</comment>
                            <comment id="391850" author="gerrit" created="Sun, 5 Nov 2023 13:53:04 +0000"  >&lt;p&gt;&quot;Alex Zhuravlev &amp;lt;bzzz@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52996&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52996&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17261&quot; title=&quot;stat(2) should be able to use a good replica&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17261&quot;&gt;LU-17261&lt;/a&gt; lov: ignore broken components&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 716fc5db86bebaee42c6c61ebc5d1098d741c453&lt;/p&gt;</comment>
                            <comment id="394842" author="adilger" created="Wed, 29 Nov 2023 23:39:27 +0000"  >&lt;p&gt;I tried to reproduce the exact situation seen in the broken files with an added test cases in patch &lt;a href=&quot;https://review.whamcloud.com/53276&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/53276&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17261&quot; title=&quot;stat(2) should be able to use a good replica&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17261&quot;&gt;LU-17261&lt;/a&gt; tests: delete partial broken mirror is OK&lt;/tt&gt;&quot; with mixed success. &lt;/p&gt;

&lt;p&gt;When LFSCK is re-attaching the orphan OST object to the mirrored file it created a different layout than seen in the original system.  Originally the layout component looks like:&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;      lmm_pattern:       raid0
      lmm_layout_gen:    0
      lmm_objects:
      -   0: { l_ost_idx:   0, l_fid: [0x280000401:0x3:0x0] }
      -   1: { l_ost_idx:   1, l_fid: [0x2c0000401:0x4:0x0] }
&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;      lmm_pattern:       40000001
      lmm_layout_gen:    1
      lmm_objects:
      -   0: { l_ost_idx:   0, l_fid: [0x280000401:0x3:0x0] }
      -   1: { l_ost_idx:   0, l_fid: [0x100000000:0x0:0x0] }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This used &quot;&lt;tt&gt;LOV_PATTERN_F_HOLE = 0x40000000&lt;/tt&gt;&quot; and a different FID for the missing OST objects, instead of &quot;&lt;tt&gt;l_ost_idx:  &amp;#45;1, l_fid: &lt;span class=&quot;error&quot;&gt;&amp;#91;0:0x0:0x0&amp;#93;&lt;/span&gt;&lt;/tt&gt;&quot; seen on the other files.  The usage of &lt;tt&gt;LOV_PATTERN_F_HOLE&lt;/tt&gt; was added for PFL files in commit &lt;a href=&quot;https://review.whamcloud.com/24883&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;v2_9_55_0-27-ge2cdf469b0&lt;/a&gt; and for plain files in commit &lt;a href=&quot;http://review.whamcloud.com/10042&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;v2_5_59_0-34-g754bf71c65&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So it isn&apos;t clear why the mirrors were recreated by LFSCK with &quot;&lt;tt&gt;l_ost_idx: &amp;#45;1&lt;/tt&gt;&quot; in the original case?&lt;/p&gt;</comment>
                            <comment id="397537" author="gerrit" created="Wed, 20 Dec 2023 01:56:41 +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/+/52996/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52996/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17261&quot; title=&quot;stat(2) should be able to use a good replica&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17261&quot;&gt;LU-17261&lt;/a&gt; lov: ignore broken components&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 902fe290e51dccdee89380fb725ae6e3c1802e2b&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </outwardlinks>
                                                        </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|i040l3:</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>