<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:45:54 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-11668] mdd_parent_fid()) ASSERTION( (((mdd_object_type(obj)) &amp; 00170000) == 0040000) ) failed</title>
                <link>https://jira.whamcloud.com/browse/LU-11668</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;I hit this assertion in current master-next testing but I don&apos;t see anything obvious included that would lead to it so perhaps it&apos;s some rare race that just happened to happen?&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; [ 6095.328424] Lustre: DEBUG MARKER: == racer test 1: racer on clients: centos-30.localnet DURATION=2700 ================================== 02:51:44 (1542181904)
 [ 6097.825252] Lustre: lfs: using old ioctl(LL_IOC_LOV_GETSTRIPE) on [0x200000403:0x5:0x0], use llapi_layout_get_by_path()
 [ 6101.235171] Lustre: DEBUG MARKER: racer test_1: @@@@@@ FAIL: generate lss conf (mds1)
 [ 6106.472165] LustreError: 4856:0:(mdt_lvb.c:430:mdt_lvbo_fill()) lustre-MDT0000: small buffer size 448 for EA 496 (max_mdsize 496): rc = -34
 [ 6108.575804] LustreError: 26511:0:(mdt_lvb.c:430:mdt_lvbo_fill()) lustre-MDT0001: small buffer size 448 for EA 472 (max_mdsize 472): rc = -34
 [ 6361.959073] 9[28537]: segfault at 8 ip 00007f20a23dc958 sp 00007fffccffcf80 error 4 in ld-2.17.so[7f20a23d1000+22000]
 [ 6469.162820] LustreError: 26494:0:(mdd_dir.c:222:mdd_parent_fid()) ASSERTION( (((mdd_object_type(obj)) &amp;amp; 00170000) == 0040000) ) failed: 
 [ 6469.214647] LustreError: 26494:0:(mdd_dir.c:222:mdd_parent_fid()) LBUG
 [ 6469.215925] Pid: 26494, comm: mdt00_001 3.10.0-7.6-debug #1 SMP Wed Nov 7 21:55:08 EST 2018
 [ 6469.219120] Call Trace:
 [ 6469.222463]  [&amp;lt;ffffffffa02637dc&amp;gt;] libcfs_call_trace+0x8c/0xc0 [libcfs]
 [ 6469.250486]  [&amp;lt;ffffffffa026388c&amp;gt;] lbug_with_loc+0x4c/0xa0 [libcfs]
 [ 6469.251895]  [&amp;lt;ffffffffa100ef22&amp;gt;] mdd_is_parent+0x4d2/0x510 [mdd]
 [ 6469.253469]  [&amp;lt;ffffffffa100f164&amp;gt;] mdd_is_subdir+0x204/0x240 [mdd]
 [ 6469.315072]  [&amp;lt;ffffffffa108f8a0&amp;gt;] mdt_reint_rename_internal.isra.47+0x810/0x2750 [mdt]
 [ 6469.318228]  [&amp;lt;ffffffffa109689b&amp;gt;] mdt_reint_rename_or_migrate.isra.51+0x19b/0x860 [mdt]
 [ 6469.340401]  [&amp;lt;ffffffffa1096f93&amp;gt;] mdt_reint_rename+0x13/0x20 [mdt]
 [ 6469.358495]  [&amp;lt;ffffffffa10984f0&amp;gt;] mdt_reint_rec+0x80/0x210 [mdt]
 [ 6469.400446]  [&amp;lt;ffffffffa1075882&amp;gt;] mdt_reint_internal+0x6b2/0xa50 [mdt]
 [ 6469.405016]  [&amp;lt;ffffffffa1080997&amp;gt;] mdt_reint+0x67/0x140 [mdt]
 [ 6469.406310]  [&amp;lt;ffffffffa05c3365&amp;gt;] tgt_request_handle+0xaf5/0x1590 [ptlrpc]
 [ 6469.412532]  [&amp;lt;ffffffffa0567436&amp;gt;] ptlrpc_server_handle_request+0x256/0xad0 [ptlrpc]
 [ 6469.415111]  [&amp;lt;ffffffffa056b329&amp;gt;] ptlrpc_main+0xa99/0x1f60 [ptlrpc]
 [ 6469.416569]  [&amp;lt;ffffffff810b4ed4&amp;gt;] kthread+0xe4/0xf0
 [ 6469.417870]  [&amp;lt;ffffffff817c4c77&amp;gt;] ret_from_fork_nospec_end+0x0/0x39
 [ 6469.419494]  [&amp;lt;ffffffffffffffff&amp;gt;] 0xffffffffffffffff
 [ 6469.420822] Kernel panic - not syncing: LBUG
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;crashdump: 192.168.123.130-2018-11-14-02:58:09 git source: 46bcdb588e22abf162af9a486107c7b59b438dd2&lt;/p&gt;</description>
                <environment></environment>
        <key id="54026">LU-11668</key>
            <summary>mdd_parent_fid()) ASSERTION( (((mdd_object_type(obj)) &amp; 00170000) == 0040000) ) failed</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</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="laisiyao">Lai Siyao</assignee>
                                    <reporter username="green">Oleg Drokin</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 Nov 2018 17:13:31 +0000</created>
                <updated>Sun, 1 Mar 2020 15:34:31 +0000</updated>
                            <resolved>Thu, 29 Nov 2018 23:10:33 +0000</resolved>
                                    <version>Lustre 2.12.0</version>
                                    <fixVersion>Lustre 2.12.0</fixVersion>
                    <fixVersion>Lustre 2.14.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="237163" author="green" created="Mon, 19 Nov 2018 03:01:13 +0000"  >&lt;p&gt;hit this twice more so far so it does appear to be a recent regression&lt;/p&gt;</comment>
                            <comment id="237270" author="pjones" created="Tue, 20 Nov 2018 18:59:17 +0000"  >&lt;p&gt;Lai&lt;/p&gt;

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

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

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="237293" author="adilger" created="Wed, 21 Nov 2018 02:00:27 +0000"  >&lt;p&gt;It may just be that this is a case of rename being called on a regular file and the MDS not verifying that the &quot;parent&quot; is a directory before diving into the code?  This should probably be verified early on in RPC handing like &lt;tt&gt;mdt_reint_rename_internal()&lt;/tt&gt; (or &lt;tt&gt;mdt_reint_rename_or_migrate()&lt;/tt&gt; if we don&apos;t want to ever allow migrating regular files), but I couldn&apos;t find any checks like that.&lt;/p&gt;</comment>
                            <comment id="237295" author="adilger" created="Wed, 21 Nov 2018 02:31:46 +0000"  >&lt;p&gt;It would also be useful to improve the assertion here to tell us what the actual file type is:&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;
@@ -219,7 +219,10 @@ &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; inline &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; mdd_parent_fid(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_env *env,
 
        ENTRY;
 
-       LASSERT(S_ISDIR(mdd_object_type(obj)));
+       LASSERTF(S_ISDIR(mdd_object_type(obj)),
+                &lt;span class=&quot;code-quote&quot;&gt;&quot;%s: FID &quot;&lt;/span&gt;DFID&lt;span class=&quot;code-quote&quot;&gt;&quot; is not a directory type = %o\n&quot;&lt;/span&gt;,
+                mdd_obj_dev_name(obj), PFID(mdd_object_fid(obj)),
+                mdd_object_type(obj));
 
        buf = lu_buf_check_and_alloc(buf, PATH_MAX);
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (buf-&amp;gt;lb_buf == NULL)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="237342" author="gerrit" created="Wed, 21 Nov 2018 14:55:35 +0000"  >&lt;p&gt;Lai Siyao (lai.siyao@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33700&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33700&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11668&quot; title=&quot;mdd_parent_fid()) ASSERTION( (((mdd_object_type(obj)) &amp;amp; 00170000) == 0040000) ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11668&quot;&gt;&lt;del&gt;LU-11668&lt;/del&gt;&lt;/a&gt; debug: print object type in mdd_parent_fid&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: a4c91e284d998de40fd08bb18e046fb23bd0044d&lt;/p&gt;</comment>
                            <comment id="237343" author="laisiyao" created="Wed, 21 Nov 2018 15:00:21 +0000"  >&lt;p&gt;I don&apos;t find any clue from the code, let&apos;s see what type this object is. Since the parent FID is read from disk, and system may be inconsistent, in the future we may turn this assert into a check and return error if it&apos;s not directory.&lt;/p&gt;</comment>
                            <comment id="237376" author="adilger" created="Thu, 22 Nov 2018 04:26:01 +0000"  >&lt;p&gt;I think it makes sense to just check the parent type in the MDT code, since there could be all kinds of reasons that it is wrong.  In this case, it is likely that racer moved or deleted a directory that the client was going to rename a file in, and another thread created a regular file in its place with the same name.  The &lt;tt&gt;mdt_reint_rename_internal()&lt;/tt&gt; code should just check the type after the parent is looked up, and return &lt;tt&gt;-ENOTDIR&lt;/tt&gt; if it isn&apos;t a directory.&lt;/p&gt;

&lt;p&gt;It may be the best place for that is in &lt;tt&gt;mdt_object_find_check()&lt;/tt&gt; since that is only called for parent directories, in which case it would be better to be renamed as &lt;tt&gt;mdt_parent_find_check()&lt;/tt&gt; or similar.&lt;/p&gt;

&lt;p&gt;Could you please work on a patch today, as this is one of the last blockers for 2.12 that doesn&apos;t have a patch yet.&lt;/p&gt;</comment>
                            <comment id="237383" author="gerrit" created="Thu, 22 Nov 2018 07:31:14 +0000"  >&lt;p&gt;Lai Siyao (lai.siyao@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33709&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33709&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11668&quot; title=&quot;mdd_parent_fid()) ASSERTION( (((mdd_object_type(obj)) &amp;amp; 00170000) == 0040000) ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11668&quot;&gt;&lt;del&gt;LU-11668&lt;/del&gt;&lt;/a&gt; mdt: check parent type in rename/migrate&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 3ede5bf5d6539ac2a8ca4831722bff367d1aed68&lt;/p&gt;</comment>
                            <comment id="237709" author="gerrit" created="Thu, 29 Nov 2018 22:56:02 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33700/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33700/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11668&quot; title=&quot;mdd_parent_fid()) ASSERTION( (((mdd_object_type(obj)) &amp;amp; 00170000) == 0040000) ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11668&quot;&gt;&lt;del&gt;LU-11668&lt;/del&gt;&lt;/a&gt; debug: print object type in mdd_parent_fid&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 9a4a99b81a267a098b92ec10991af27b7f3cae7e&lt;/p&gt;</comment>
                            <comment id="237710" author="gerrit" created="Thu, 29 Nov 2018 22:56:07 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33709/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33709/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11668&quot; title=&quot;mdd_parent_fid()) ASSERTION( (((mdd_object_type(obj)) &amp;amp; 00170000) == 0040000) ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11668&quot;&gt;&lt;del&gt;LU-11668&lt;/del&gt;&lt;/a&gt; mdt: check parent type in rename/migrate&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 214b12adc315c4adc3c56deb7e790fdc6f0095c8&lt;/p&gt;</comment>
                            <comment id="237713" author="pjones" created="Thu, 29 Nov 2018 23:10:33 +0000"  >&lt;p&gt;Landed for 2.12&lt;/p&gt;</comment>
                            <comment id="240303" author="green" created="Fri, 18 Jan 2019 04:59:13 +0000"  >&lt;p&gt;I hit this in current master-next with the new debug print. Running racer:&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;[ 5609.701558] LustreError: 29511:0:(mdd_dir.c:225:mdd_parent_fid()) ASSERTION( S_ISDIR(mdd_object_type(obj)) ) failed: lustre-MDD0000: FID [0x200000003:0xa:0x0] is not a directory type = 100000
[ 5609.713377] LustreError: 29511:0:(mdd_dir.c:225:mdd_parent_fid()) LBUG
[ 5609.714440] Pid: 29511, comm: mdt07_012 3.10.0-7.6-debug #1 SMP Wed Nov 7 21:55:08 EST 2018
[ 5609.716491] Call Trace:
[ 5609.717566]  [&amp;lt;ffffffffa02077dc&amp;gt;] libcfs_call_trace+0x8c/0xc0 [libcfs]
[ 5609.719016]  [&amp;lt;ffffffffa020788c&amp;gt;] lbug_with_loc+0x4c/0xa0 [libcfs]
[ 5609.722670]  [&amp;lt;ffffffffa0fe5ab4&amp;gt;] mdd_parent_fid+0x374/0x3b0 [mdd]
[ 5609.724305]  [&amp;lt;ffffffffa0fe5bc0&amp;gt;] mdd_is_parent+0xd0/0x1a0 [mdd]
[ 5609.725641]  [&amp;lt;ffffffffa0fe5e94&amp;gt;] mdd_is_subdir+0x204/0x240 [mdd]
[ 5609.726669]  [&amp;lt;ffffffffa10642d0&amp;gt;] mdt_reint_rename_internal.isra.46+0x810/0x2750 [mdt]
[ 5609.728468]  [&amp;lt;ffffffffa106e14b&amp;gt;] mdt_reint_rename_or_migrate.isra.51+0x19b/0x860 [mdt]
[ 5609.730274]  [&amp;lt;ffffffffa106e843&amp;gt;] mdt_reint_rename+0x13/0x20 [mdt]
[ 5609.731149]  [&amp;lt;ffffffffa106e8d0&amp;gt;] mdt_reint_rec+0x80/0x210 [mdt]
[ 5609.732097]  [&amp;lt;ffffffffa104b723&amp;gt;] mdt_reint_internal+0x6e3/0xab0 [mdt]
[ 5609.732988]  [&amp;lt;ffffffffa10568e7&amp;gt;] mdt_reint+0x67/0x140 [mdt]
[ 5609.734283]  [&amp;lt;ffffffffa05f5605&amp;gt;] tgt_request_handle+0xaf5/0x1590 [ptlrpc]
[ 5609.735808]  [&amp;lt;ffffffffa05993a9&amp;gt;] ptlrpc_server_handle_request+0x259/0xad0 [ptlrpc]
[ 5609.737741]  [&amp;lt;ffffffffa059d36c&amp;gt;] ptlrpc_main+0xb5c/0x2040 [ptlrpc]
[ 5609.738705]  [&amp;lt;ffffffff810b4ed4&amp;gt;] kthread+0xe4/0xf0
[ 5609.739563]  [&amp;lt;ffffffff817c4c77&amp;gt;] ret_from_fork_nospec_end+0x0/0x39
[ 5609.740589]  [&amp;lt;ffffffffffffffff&amp;gt;] 0xffffffffffffffff
[ 5609.741650] Kernel panic - not syncing: LBUG
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="248291" author="gerrit" created="Mon, 3 Jun 2019 19:56:01 +0000"  >&lt;p&gt;Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/35047&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35047&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11668&quot; title=&quot;mdd_parent_fid()) ASSERTION( (((mdd_object_type(obj)) &amp;amp; 00170000) == 0040000) ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11668&quot;&gt;&lt;del&gt;LU-11668&lt;/del&gt;&lt;/a&gt; mdd: use mdd_object_fid() instead of mdo2fid()&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: cfa0e83b83cca5b47c005d3934ee1abba07313ba&lt;/p&gt;</comment>
                            <comment id="264302" author="gerrit" created="Sun, 1 Mar 2020 05:34:42 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/35047/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35047/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11668&quot; title=&quot;mdd_parent_fid()) ASSERTION( (((mdd_object_type(obj)) &amp;amp; 00170000) == 0040000) ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11668&quot;&gt;&lt;del&gt;LU-11668&lt;/del&gt;&lt;/a&gt; mdd: use mdd_object_fid() instead of mdo2fid()&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 7de9babe6f9af6dfdb20360211f8ecea344b0500&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <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|i006dz:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>