<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:28:13 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-2789] lod_load_striping()) ASSERTION( lo-&gt;ldo_stripenr == 0 ) failed</title>
                <link>https://jira.whamcloud.com/browse/LU-2789</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This could probably be reproduced by racer given enough runs but I can reproduce it as follows:&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;# llmount.sh
# mount n@tcp:/lustre /mnt/lustre2 -t lustre
# (cd /mnt/lustre; while true; do lfs setstripe -c 1 f0; done) &amp;amp;
# (cd /mnt/lustre2; while true; do mv f0 f1; done) &amp;amp;

Message from syslogd@n at Feb  8 15:36:51 ...
 kernel:LustreError: 3186:0:(lod_lov.c:782:lod_load_striping()) ASSERTION( lo-&amp;gt;ldo_stripe[i] ) failed: stripe 0 is NULL

Message from syslogd@n at Feb  8 15:36:51 ...
 kernel:LustreError: 3186:0:(lod_lov.c:782:lod_load_striping()) LBUG

Message from syslogd@n at Feb  8 15:36:51 ...
 kernel:Kernel panic - not syncing: LBUG
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Here is the crash dump for the rename handler:&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;crash&amp;gt; bt -l
PID: 13628  TASK: ffff8800a98a1540  CPU: 1   COMMAND: &quot;mdt00_001&quot;
 #0 [ffff8800a98a3828] machine_kexec at ffffffff81031f7b
    /usr/src/debug/kernel-2.6.32-279.19.1.el6/linux-2.6.32-279.19.1.el6.x86_64/arch/x86/kernel/machine_kexec_64.c: 336
 #1 [ffff8800a98a3888] crash_kexec at ffffffff810b8c22
    /usr/src/debug/kernel-2.6.32-279.19.1.el6/linux-2.6.32-279.19.1.el6.x86_64/kernel/kexec.c: 1106
 #2 [ffff8800a98a3958] panic at ffffffff814e9818
    /usr/src/debug/kernel-2.6.32-279.19.1.el6/linux-2.6.32-279.19.1.el6.x86_64/kernel/panic.c: 103
 #3 [ffff8800a98a39d8] lbug_with_loc at ffffffffa0595eeb [libcfs]
    /root/lustre-release/libcfs/libcfs/linux/linux-debug.c: 188
 #4 [ffff8800a98a39f8] lod_load_striping at ffffffffa0e199f3 [lod]
    /root/lustre-release/lustre/lod/lod_internal.h: 255
 #5 [ffff8800a98a3a38] lod_declare_attr_set at ffffffffa0e25fbb [lod]
    /root/lustre-release/lustre/lod/lod_object.c: 300
 #6 [ffff8800a98a3a88] mdd_rename at ffffffffa0beb6d8 [mdd]
    /root/lustre-release/lustre/mdd/mdd_dir.c: 2087
 #7 [ffff8800a98a3ba8] mdt_reint_rename at ffffffffa0d54617 [mdt]
    /root/lustre-release/lustre/mdt/mdt_reint.c: 1270
 #8 [ffff8800a98a3cc8] mdt_reint_rec at ffffffffa0d506b1 [mdt]
    /root/lustre-release/libcfs/include/libcfs/libcfs_debug.h: 211
 #9 [ffff8800a98a3ce8] mdt_reint_internal at ffffffffa0d49d13 [mdt]
    /root/lustre-release/libcfs/include/libcfs/libcfs_debug.h: 211
#10 [ffff8800a98a3d28] mdt_reint at ffffffffa0d4a044 [mdt]
    /root/lustre-release/lustre/mdt/mdt_handler.c: 1818
#11 [ffff8800a98a3d48] mdt_handle_common at ffffffffa0d3afb8 [mdt]
    /root/lustre-release/lustre/mdt/mdt_handler.c: 2981
#12 [ffff8800a98a3d98] mds_regular_handle at ffffffffa0d725f5 [mdt]
    /root/lustre-release/lustre/mdt/mdt_mds.c: 354
#13 [ffff8800a98a3da8] ptlrpc_server_handle_request at ffffffffa08e9c7c [ptlrpc]
    /root/lustre-release/lustre/include/lustre_net.h: 2771
#14 [ffff8800a98a3ea8] ptlrpc_main at ffffffffa08eb1c6 [ptlrpc]
    /root/lustre-release/lustre/ptlrpc/service.c: 2487
#15 [ffff8800a98a3f48] kernel_thread at ffffffff8100c0ca
    /usr/src/debug///////kernel-2.6.32-279.19.1.el6/linux-2.6.32-279.19.1.el6.x86_64/arch/x86/kernel/entry_64.S: 1213
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lfs setstripe is in ioctl() with its mdt_reint_open() handler in:&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;mdt_reint_open()
 ...
  mdt_create_data()
   ...
    lod_declare_xattr_set()
     ...
      osp_precreate_reserve()
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="17520">LU-2789</key>
            <summary>lod_load_striping()) ASSERTION( lo-&gt;ldo_stripenr == 0 ) failed</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.whamcloud.com/images/icons/priorities/critical.svg">Critical</priority>
                        <status id="6" iconUrl="https://jira.whamcloud.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="jhammond">John Hammond</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>LB</label>
                            <label>lod</label>
                            <label>mdd</label>
                    </labels>
                <created>Fri, 8 Feb 2013 16:51:39 +0000</created>
                <updated>Wed, 12 Oct 2016 14:11:35 +0000</updated>
                            <resolved>Wed, 12 Oct 2016 14:11:29 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                    <version>Lustre 2.5.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>17</watches>
                                                                            <comments>
                            <comment id="52155" author="jlevi" created="Mon, 11 Feb 2013 15:04:27 +0000"  >&lt;p&gt;Assigning to John as he already has a patch.&lt;/p&gt;</comment>
                            <comment id="52246" author="jhammond" created="Tue, 12 Feb 2013 22:00:47 +0000"  >&lt;p&gt;Thanks for the vote of confidence but I don&apos;t have a patch for this one. I&apos;ve added Alex and Mike to the watcher list as they seem to be the lod experts.&lt;/p&gt;</comment>
                            <comment id="52327" author="jhammond" created="Wed, 13 Feb 2013 17:59:45 +0000"  >&lt;p&gt;Please see &lt;a href=&quot;http://review.whamcloud.com/5422&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5422&lt;/a&gt; (or suggest something better).&lt;/p&gt;</comment>
                            <comment id="52335" author="adilger" created="Wed, 13 Feb 2013 20:30:03 +0000"  >&lt;p&gt;I&apos;ve submitted &lt;a href=&quot;http://review.whamcloud.com/5424&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5424&lt;/a&gt; to disable the setstripe in racer/file_create.sh, unless &quot;RACER_SETSTRIPE=true&quot; is set in the environment. That will allow adding racer to the review test list, but also allow testing these patches as needed via &quot;Test-Parameters: envdefinitions=RACER_SETSTRIPE=true&quot;.&lt;/p&gt;

&lt;p&gt;Please delete the exception for RACER_SETSTRIPE from file_create.sh when this patch and &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-2523&quot; title=&quot;ll_update_inode()) ASSERTION( lu_fid_eq(&amp;amp;lli-&amp;gt;lli_fid, &amp;amp;body-&amp;gt;fid1) ) failed: Trying to change FID&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-2523&quot;&gt;&lt;del&gt;LU-2523&lt;/del&gt;&lt;/a&gt; are landed.&lt;/p&gt;</comment>
                            <comment id="52347" author="jhammond" created="Wed, 13 Feb 2013 22:50:03 +0000"  >&lt;p&gt;Forgot to mention, if I understand correctly there is still no guarantee that the objects present at time of commit were all present at declaration.&lt;/p&gt;</comment>
                            <comment id="52352" author="bzzz" created="Thu, 14 Feb 2013 03:44:09 +0000"  >&lt;p&gt;&amp;gt; Forgot to mention, if I understand correctly there is still no guarantee that the objects present at time of commit were all present at declaration.&lt;/p&gt;

&lt;p&gt;we just need to ensure ldo_stripe is valid. this can be done with proper ordering: allocate it, initialize with all the objects, then set ldo_stripe to that.&lt;br/&gt;
this is still not enough in some cases, but not worse than your patch.&lt;/p&gt;</comment>
                            <comment id="52744" author="jhammond" created="Wed, 20 Feb 2013 10:01:55 +0000"  >&lt;p&gt;Patch landed.&lt;/p&gt;</comment>
                            <comment id="54482" author="green" created="Wed, 20 Mar 2013 16:55:07 +0000"  >&lt;p&gt;I just triggered this during a racer run again&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;[12352.649735] LustreError: 3673:0:(osp_precreate.c:484:osp_precreate_send()) lustr
e-OST0001-osc-MDT0000: can&apos;t precreate: rc = -28
[12352.650805] Lustre: wanted 1, found 0
[12352.664985] Lustre: wanted 1, found 0
[12352.665240] Lustre: Skipped 1 previous similar message
[12352.731858] LustreError: 32093:0:(lod_lov.c:819:lod_load_striping()) ASSERTION( 
lo-&amp;gt;ldo_stripenr == 0 ) failed: 
[12352.732406] LustreError: 32093:0:(lod_lov.c:819:lod_load_striping()) LBUG
[12352.732586] Pid: 32093, comm: mdt01_008
[12352.732733] 
[12352.732733] Call Trace:
[12352.732989]  [&amp;lt;ffffffffa045b915&amp;gt;] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
[12352.733180]  [&amp;lt;ffffffffa045bf17&amp;gt;] lbug_with_loc+0x47/0xb0 [libcfs]
[12352.733403]  [&amp;lt;ffffffffa07008d3&amp;gt;] lod_load_striping+0x383/0x4b0 [lod]
[12352.733591]  [&amp;lt;ffffffffa070cecb&amp;gt;] lod_declare_attr_set+0x17b/0x450 [lod]
[12352.735056]  [&amp;lt;ffffffffa0c5a888&amp;gt;] mdd_rename+0x328/0x22f0 [mdd]
[12352.735253]  [&amp;lt;ffffffffa07090f5&amp;gt;] ? lod_index_lookup+0x25/0x30 [lod]
[12352.735439]  [&amp;lt;ffffffffa0c55ebe&amp;gt;] ? __mdd_lookup_locked+0x1ee/0x490 [mdd]
[12352.735695]  [&amp;lt;ffffffffa0471692&amp;gt;] ? cfs_hash_bd_from_key+0x42/0xd0 [libcfs]
[12352.735915]  [&amp;lt;ffffffffa0d444c5&amp;gt;] mdt_reint_rename+0x13d5/0x1b10 [mdt]
[12352.736145]  [&amp;lt;ffffffffa061dec0&amp;gt;] ? lu_ucred+0x20/0x30 [obdclass]
[12352.736379]  [&amp;lt;ffffffffa0d3f251&amp;gt;] mdt_reint_rec+0x41/0xe0 [mdt]
[12352.736599]  [&amp;lt;ffffffffa0d388b3&amp;gt;] mdt_reint_internal+0x4e3/0x7d0 [mdt]
[12352.736839]  [&amp;lt;ffffffffa0d38be4&amp;gt;] mdt_reint+0x44/0xe0 [mdt]
[12352.737033]  [&amp;lt;ffffffffa0d2a078&amp;gt;] mdt_handle_common+0x628/0x1630 [mdt]
[12352.737244]  [&amp;lt;ffffffffa0d62935&amp;gt;] mds_regular_handle+0x15/0x20 [mdt]
[12352.737495]  [&amp;lt;ffffffffa07ac003&amp;gt;] ptlrpc_server_handle_request+0x443/0xe40 [ptlrpc]
[12352.738270]  [&amp;lt;ffffffffa045c65e&amp;gt;] ? cfs_timer_arm+0xe/0x10 [libcfs]
[12352.738462]  [&amp;lt;ffffffffa07a4fc1&amp;gt;] ? ptlrpc_wait_event+0xb1/0x2a0 [ptlrpc]
[12352.738654]  [&amp;lt;ffffffff81051f73&amp;gt;] ? __wake_up+0x53/0x70
[12352.738853]  [&amp;lt;ffffffffa07aeacd&amp;gt;] ptlrpc_main+0xafd/0x17f0 [ptlrpc]
[12352.739162]  [&amp;lt;ffffffffa07adfd0&amp;gt;] ? ptlrpc_main+0x0/0x17f0 [ptlrpc]
[12352.739391]  [&amp;lt;ffffffff8100c14a&amp;gt;] child_rip+0xa/0x20
[12352.739661]  [&amp;lt;ffffffffa07adfd0&amp;gt;] ? ptlrpc_main+0x0/0x17f0 [ptlrpc]
[12352.740114]  [&amp;lt;ffffffffa07adfd0&amp;gt;] ? ptlrpc_main+0x0/0x17f0 [ptlrpc]
[12352.740387]  [&amp;lt;ffffffff8100c140&amp;gt;] ? child_rip+0x0/0x20
[12352.740647] 
[12352.741400] Kernel panic - not syncing: LBUG
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I have a crashdump and modules in /exports/crashdumps/192.168.10.220-2013-03-20-12\:47\:02/&lt;br/&gt;
code tag in my repo: master-20130320&lt;/p&gt;</comment>
                            <comment id="54608" author="jhammond" created="Thu, 21 Mar 2013 20:44:43 +0000"  >&lt;p&gt;New patch at &lt;a href=&quot;http://review.whamcloud.com/#change,5802&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,5802&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;(There remains a setstripe vs chown race.)&lt;/p&gt;</comment>
                            <comment id="54802" author="jhammond" created="Mon, 25 Mar 2013 21:14:12 +0000"  >&lt;p&gt;A more robust patch is at &lt;a href=&quot;http://review.whamcloud.com/5839&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5839&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I hope they can both go through because the first offers an optimization to rename()/chmod()/utime() in that it does not require that the MDT load striping for the object.&lt;/p&gt;</comment>
                            <comment id="55122" author="jhammond" created="Fri, 29 Mar 2013 22:54:00 +0000"  >&lt;p&gt;Based on the discussion at &lt;a href=&quot;http://review.whamcloud.com/#change,5839&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,5839&lt;/a&gt;, I have added a semaphore to lod_object (as of patch set 3).  With the changes attached to &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3059&quot; title=&quot;shrink lod_object to 128 bytes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3059&quot;&gt;&lt;del&gt;LU-3059&lt;/del&gt;&lt;/a&gt; this puts the size of lod_object at a nice round 128 bytes.  This does not solve all problems but it does fix several and reduce the odds of the remaining ones I know of---as measured by the time until LBUG() under some manual testing.  For an example try the following before and after #5839:&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;# MOUNT_2=y llmount.sh
# (cd /mnt/lustre; while true; do lfs setstripe f0; done) &amp;amp;
# (cd /mnt/lustre2; while true; do chown 42:42 f0; rm f0; done) &amp;amp;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Before this would quickly trigger an LASSERT() in LOD.  After it less quickly triggers one in OSP.&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;LustreError: 6283:0:(osp_sync.c:248:osp_sync_add_rec()) ASSERTION( txn ) failed:
LustreError: 6283:0:(osp_sync.c:248:osp_sync_add_rec()) LBUG

crash&amp;gt; bt -l
PID: 6283   TASK: ffff88013b9b6080  CPU: 0   COMMAND: &quot;mdt00_002&quot;
 #0 [ffff88013ba23848] machine_kexec at ffffffff81031f7b
    /usr/src/debug/kernel-2.6.32-279.19.1.el6/linux-2.6.32-279.19.1.el6_lustre_gcov.x86_6\
4/arch/x86/kernel/machine_kexec_64.c: 336
 #1 [ffff88013ba238a8] crash_kexec at ffffffff810b8c22
    /usr/src/debug/kernel-2.6.32-279.19.1.el6/linux-2.6.32-279.19.1.el6_lustre_gcov.x86_6\
4/kernel/kexec.c: 1106
 #2 [ffff88013ba23978] panic at ffffffff814eae18
    /usr/src/debug/kernel-2.6.32-279.19.1.el6/linux-2.6.32-279.19.1.el6_lustre_gcov.x86_6\
4/kernel/panic.c: 103
 #3 [ffff88013ba239f8] lbug_with_loc at ffffffffa051deeb [libcfs]
    /root/lustre-release/libcfs/libcfs/linux/linux-debug.c: 176
 #4 [ffff88013ba23a18] osp_sync_add_rec at ffffffffa0dc33dd [osp]
    /root/lustre-release/lustre/osp/osp_sync.c: 1196
 #5 [ffff88013ba23a88] osp_sync_add at ffffffffa0dc35bb [osp]
    /root/lustre-release/lustre/osp/osp_sync.c: 286
 #6 [ffff88013ba23aa8] osp_attr_set at ffffffffa0db76c3 [osp]
    /root/lustre-release/libcfs/include/libcfs/libcfs_debug.h: 211
 #7 [ffff88013ba23ad8] lod_attr_set at ffffffffa0d85e6f [lod]
    /root/lustre-release/lustre/lod/lod_object.c: 369
 #8 [ffff88013ba23b38] mdd_attr_set_internal at ffffffffa07ba561 [mdd]
    /root/lustre-release/lustre/mdd/mdd_object.c: 417
 #9 [ffff88013ba23b88] mdd_attr_set at ffffffffa07bc8aa [mdd]
    /root/lustre-release/lustre/mdd/mdd_object.c: 882
#10 [ffff88013ba23c08] mdt_attr_set at ffffffffa0cb23c8 [mdt]
    /root/lustre-release/lustre/mdt/mdt_reint.c: 440
#11 [ffff88013ba23c58] mdt_reint_setattr at ffffffffa0cb2cb4 [mdt]
    /root/lustre-release/lustre/mdt/mdt_reint.c: 576
#12 [ffff88013ba23cc8] mdt_reint_rec at ffffffffa0cac7b1 [mdt]
    /root/lustre-release/libcfs/include/libcfs/libcfs_debug.h: 211
#13 [ffff88013ba23ce8] mdt_reint_internal at ffffffffa0ca5df3 [mdt]
    /root/lustre-release/libcfs/include/libcfs/libcfs_debug.h: 211
#14 [ffff88013ba23d28] mdt_reint at ffffffffa0ca6124 [mdt]
    /root/lustre-release/lustre/mdt/mdt_handler.c: 1821
#15 [ffff88013ba23d48] mdt_handle_common at ffffffffa0c940e8 [mdt]
    /root/lustre-release/lustre/mdt/mdt_handler.c: 2984
#16 [ffff88013ba23d98] mds_regular_handle at ffffffffa0cd0335 [mdt]
    /root/lustre-release/lustre/mdt/mdt_mds.c: 354
#17 [ffff88013ba23da8] ptlrpc_server_handle_request at ffffffffa086f29c [ptlrpc]
    /root/lustre-release/lustre/include/lustre_net.h: 2894
#18 [ffff88013ba23ea8] ptlrpc_main at ffffffffa08707e5 [ptlrpc]
    /root/lustre-release/lustre/ptlrpc/service.c: 2486
#19 [ffff88013ba23f48] kernel_thread at ffffffff8100c0ca
    /usr/src/debug///////kernel-2.6.32-279.19.1.el6/linux-2.6.32-279.19.1.el6_lustre_gcov\
.x86_64/arch/x86/kernel/entry_64.S: 1213
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="55129" author="adilger" created="Sat, 30 Mar 2013 03:04:04 +0000"  >&lt;p&gt;John, can you please make the test you described in the last comment into a sanity.sh test, or add it to racer in some manner. The OSP failure should probably be fixed in a separate ticket along with landing the test that triggers it. &lt;/p&gt;</comment>
                            <comment id="55130" author="bzzz" created="Sat, 30 Mar 2013 06:13:03 +0000"  >&lt;p&gt;John, this mean the transaction did not declare llog records. in the context of the patch, I&apos;d guess one transaction made declaration, another created the striping (but didn&apos;t do declaration).&lt;/p&gt;</comment>
                            <comment id="55137" author="jhammond" created="Sat, 30 Mar 2013 20:33:00 +0000"  >&lt;p&gt;Andreas: I have created &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3072&quot; title=&quot;add more operations to racer&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3072&quot;&gt;&lt;del&gt;LU-3072&lt;/del&gt;&lt;/a&gt; for the racer improvements.  AFAIK, we have not used this sort of approach in sanity.  Is that right?  I don&apos;t see any obvious issues but it makes me somewhat uneasy.&lt;/p&gt;

&lt;p&gt;Alex: This is what I was worried about yesterday.  It seems that when lod_declare_attr_set() was called the object had no striping, but by the time lod_attr_set() was called it did.  I will try to verify this.&lt;/p&gt;

&lt;p&gt;Running:&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;# MOUNT_2=y llmount.sh
# (cd /mnt/lustre; while true; do sys_setstripe -c1 f0; sys_unlink f0; done) &amp;amp;
# (cd /mnt/lustre2; while true; do sys_truncate f0 117; done) &amp;amp; ### does truncate(&quot;f0&quot;, 117) 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I see:&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;LustreError: 3215:0:(osp_object.c:56:osp_object_assign_fid()) ASSERTION( fid_is_zero(lu_object_fid(&amp;amp;o-&amp;gt;opo_obj.do_lu)) ) failed: 
LustreError: 3215:0:(osp_object.c:56:osp_object_assign_fid()) LBUG
Pid: 3215, comm: mdt00_002

Call Trace:
 [&amp;lt;ffffffffa051a895&amp;gt;] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
 [&amp;lt;ffffffffa051ae97&amp;gt;] lbug_with_loc+0x47/0xb0 [libcfs]
 [&amp;lt;ffffffffa0db4912&amp;gt;] osp_object_assign_fid+0xd2/0x160 [osp]
 [&amp;lt;ffffffffa0db4b04&amp;gt;] osp_declare_attr_set+0x164/0x330 [osp]
 [&amp;lt;ffffffffa0d83425&amp;gt;] lod_declare_attr_set+0x275/0x4f0 [lod]
 [&amp;lt;ffffffffa07b8c49&amp;gt;] mdd_attr_set+0x3f9/0x1390 [mdd]
 [&amp;lt;ffffffffa0caf3c8&amp;gt;] mdt_attr_set+0x268/0x560 [mdt]
 [&amp;lt;ffffffffa0cafcb4&amp;gt;] mdt_reint_setattr+0x5f4/0xd10 [mdt]
 [&amp;lt;ffffffffa085bfde&amp;gt;] ? lustre_pack_reply_flags+0xae/0x1f0 [ptlrpc]
 [&amp;lt;ffffffffa0ca97b1&amp;gt;] mdt_reint_rec+0x41/0xe0 [mdt]
 [&amp;lt;ffffffffa0ca2df3&amp;gt;] mdt_reint_internal+0x4e3/0x7d0 [mdt]
 [&amp;lt;ffffffffa0ca3124&amp;gt;] mdt_reint+0x44/0xe0 [mdt]
 [&amp;lt;ffffffffa0c910e8&amp;gt;] mdt_handle_common+0x648/0x1660 [mdt]
 [&amp;lt;ffffffffa0ccd335&amp;gt;] mds_regular_handle+0x15/0x20 [mdt]
 [&amp;lt;ffffffffa086c29c&amp;gt;] ptlrpc_server_handle_request+0x41c/0xdf0 [ptlrpc]
 [&amp;lt;ffffffffa051b5de&amp;gt;] ? cfs_timer_arm+0xe/0x10 [libcfs]
 [&amp;lt;ffffffffa08638d9&amp;gt;] ? ptlrpc_wait_event+0xa9/0x290 [ptlrpc]
 [&amp;lt;ffffffff81052223&amp;gt;] ? __wake_up+0x53/0x70
 [&amp;lt;ffffffffa086d7e5&amp;gt;] ptlrpc_main+0xb75/0x1870 [ptlrpc]
 [&amp;lt;ffffffffa086cc70&amp;gt;] ? ptlrpc_main+0x0/0x1870 [ptlrpc]
 [&amp;lt;ffffffff8100c0ca&amp;gt;] child_rip+0xa/0x20
 [&amp;lt;ffffffffa086cc70&amp;gt;] ? ptlrpc_main+0x0/0x1870 [ptlrpc]
 [&amp;lt;ffffffffa086cc70&amp;gt;] ? ptlrpc_main+0x0/0x1870 [ptlrpc]
 [&amp;lt;ffffffff8100c0c0&amp;gt;] ? child_rip+0x0/0x20
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;As well as:&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;LustreError: 13907:0:(osp_object.c:245:osp_object_create()) ASSERTION( fid_is_sane(fid) ) failed: fid for osp_obj ffffffffa0db3f00 is insane[0x0:0x0:0x0]!
LustreError: 13907:0:(osp_object.c:245:osp_object_create()) LBUG
Pid: 13907, comm: mdt01_003

Call Trace:
 [&amp;lt;ffffffffa051a895&amp;gt;] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
 [&amp;lt;ffffffffa051ae97&amp;gt;] lbug_with_loc+0x47/0xb0 [libcfs]
 [&amp;lt;ffffffffa0db50c2&amp;gt;] osp_object_create+0x3f2/0x890 [osp]
 [&amp;lt;ffffffffa0d81ae6&amp;gt;] lod_striping_create+0x196/0x2f0 [lod]
 [&amp;lt;ffffffffa0d8393a&amp;gt;] lod_xattr_set+0x29a/0x7d0 [lod]
 [&amp;lt;ffffffffa0d6d2f9&amp;gt;] ? lod_trans_start+0x1b9/0x250 [lod]
 [&amp;lt;ffffffffa0d836a0&amp;gt;] ? lod_xattr_set+0x0/0x7d0 [lod]
 [&amp;lt;ffffffffa07c3195&amp;gt;] mdd_create_data+0x5d5/0x760 [mdd]
 [&amp;lt;ffffffffa0cbca6c&amp;gt;] mdt_finish_open+0x123c/0x1880 [mdt]
 [&amp;lt;ffffffffa0cb8258&amp;gt;] ? mdt_object_open_lock+0x1c8/0x510 [mdt]
 [&amp;lt;ffffffffa0cbd556&amp;gt;] mdt_open_by_fid_lock+0x4a6/0x7c0 [mdt]
 [&amp;lt;ffffffffa0cbe0cb&amp;gt;] mdt_reint_open+0x56b/0x20c0 [mdt]
 [&amp;lt;ffffffffa05377ae&amp;gt;] ? upcall_cache_get_entry+0x28e/0x860 [libcfs]
 [&amp;lt;ffffffffa085bc5c&amp;gt;] ? lustre_msg_add_version+0x6c/0xc0 [ptlrpc]
 [&amp;lt;ffffffffa06ff010&amp;gt;] ? lu_ucred+0x20/0x30 [obdclass]
 [&amp;lt;ffffffffa0c89385&amp;gt;] ? mdt_ucred+0x15/0x20 [mdt]
 [&amp;lt;ffffffffa0ca4fbc&amp;gt;] ? mdt_root_squash+0x2c/0x410 [mdt]
 [&amp;lt;ffffffffa0883b66&amp;gt;] ? __req_capsule_get+0x166/0x700 [ptlrpc]
 [&amp;lt;ffffffffa06ff010&amp;gt;] ? lu_ucred+0x20/0x30 [obdclass]
 [&amp;lt;ffffffffa0ca97b1&amp;gt;] mdt_reint_rec+0x41/0xe0 [mdt]
 [&amp;lt;ffffffffa0ca2df3&amp;gt;] mdt_reint_internal+0x4e3/0x7d0 [mdt]
 [&amp;lt;ffffffffa0ca33ad&amp;gt;] mdt_intent_reint+0x1ed/0x520 [mdt]
 [&amp;lt;ffffffffa0c9ef8e&amp;gt;] mdt_intent_policy+0x3ae/0x750 [mdt]
 [&amp;lt;ffffffffa0814351&amp;gt;] ldlm_lock_enqueue+0x361/0x8d0 [ptlrpc]
 [&amp;lt;ffffffffa083a347&amp;gt;] ldlm_handle_enqueue0+0x4f7/0x10b0 [ptlrpc]
 [&amp;lt;ffffffffa0c9f466&amp;gt;] mdt_enqueue+0x46/0x110 [mdt]
 [&amp;lt;ffffffffa0c910e8&amp;gt;] mdt_handle_common+0x648/0x1660 [mdt]
 [&amp;lt;ffffffffa0ccd335&amp;gt;] mds_regular_handle+0x15/0x20 [mdt]
 [&amp;lt;ffffffffa086c29c&amp;gt;] ptlrpc_server_handle_request+0x41c/0xdf0 [ptlrpc]
 [&amp;lt;ffffffffa051b5de&amp;gt;] ? cfs_timer_arm+0xe/0x10 [libcfs]
 [&amp;lt;ffffffffa08638d9&amp;gt;] ? ptlrpc_wait_event+0xa9/0x290 [ptlrpc]
 [&amp;lt;ffffffff81052223&amp;gt;] ? __wake_up+0x53/0x70
 [&amp;lt;ffffffffa086d7e5&amp;gt;] ptlrpc_main+0xb75/0x1870 [ptlrpc]
 [&amp;lt;ffffffffa086cc70&amp;gt;] ? ptlrpc_main+0x0/0x1870 [ptlrpc]
 [&amp;lt;ffffffff8100c0ca&amp;gt;] child_rip+0xa/0x20
 [&amp;lt;ffffffffa086cc70&amp;gt;] ? ptlrpc_main+0x0/0x1870 [ptlrpc]
 [&amp;lt;ffffffffa086cc70&amp;gt;] ? ptlrpc_main+0x0/0x1870 [ptlrpc]
 [&amp;lt;ffffffff8100c0c0&amp;gt;] ? child_rip+0x0/0x20
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="55170" author="bzzz" created="Mon, 1 Apr 2013 07:24:50 +0000"  >&lt;p&gt;hmm, what attributes first lod_declare_attr_set() was trying to set ?&lt;/p&gt;</comment>
                            <comment id="55194" author="jhammond" created="Mon, 1 Apr 2013 16:31:21 +0000"  >&lt;p&gt;Working to reproduce that in gdb.&lt;/p&gt;

&lt;p&gt;I got a similar one (triggered the LASSERT() on the next line) where the attrs were mtime, ctime, and size.&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;MOUNT_2=y llmount.sh
(cd /mnt/lustre; while true; do sys_setstripe -c1 f0; sys_unlink f0; done) &amp;amp;
(cd /mnt/lustre2; while true; do sys_truncate f0 117; done) &amp;amp;

(gdb) bt
#0  lbug_with_loc (msgdata=0xffffffffa0dd5080)
    at /root/lustre-release/libcfs/libcfs/linux/linux-debug.c:167
#1  0xffffffffa0db799a in osp_object_assign_fid (env=0xffff88016ba1f400,
    d=0xffff88017a7af000, o=0xffff880170909858)
    at /root/lustre-release/lustre/osp/osp_object.c:57
#2  0xffffffffa0db7b04 in osp_declare_attr_set (env=0xffff88016ba1f400,
    dt=0xffff8801709098b0, attr=0xffff88016c095160, th=&amp;lt;value optimized out&amp;gt;)
    at /root/lustre-release/lustre/osp/osp_object.c:100
#3  0xffffffffa0d86435 in dt_declare_attr_set (env=0xffff88016ba1f400,
    dt=0xffff88016aa5b130, attr=0xffff88016c095160, handle=0xffff88016a0b14c0)
    at /root/lustre-release/lustre/include/dt_object.h:1097
#4  lod_declare_attr_set (env=0xffff88016ba1f400, dt=0xffff88016aa5b130,
    attr=0xffff88016c095160, handle=0xffff88016a0b14c0)
    at /root/lustre-release/lustre/lod/lod_object.c:335
#5  0xffffffffa07bbc49 in dt_declare_attr_set (env=0xffff88016ba1f400,
    obj=0xffff88016a075d90, ma=0xffff88016c095148)
    at /root/lustre-release/lustre/include/dt_object.h:1097
#6  mdo_declare_attr_set (env=0xffff88016ba1f400, obj=0xffff88016a075d90,
    ma=0xffff88016c095148) at /root/lustre-release/lustre/mdd/mdd_internal.h:660
#7  mdd_declare_attr_set (env=0xffff88016ba1f400, obj=0xffff88016a075d90,
    ma=0xffff88016c095148) at /root/lustre-release/lustre/mdd/mdd_object.c:798
#8  mdd_attr_set (env=0xffff88016ba1f400, obj=0xffff88016a075d90, ma=0xffff88016c095148)
    at /root/lustre-release/lustre/mdd/mdd_object.c:858
#9  0xffffffffa0cb23c8 in mo_attr_set (info=0xffff88016c095000, mo=0xffff88016ab74168,
    ma=0xffff88016c095148, flags=&amp;lt;value optimized out&amp;gt;)
    at /root/lustre-release/lustre/include/md_object.h:574
#10 mdt_attr_set (info=0xffff88016c095000, mo=0xffff88016ab74168, ma=0xffff88016c095148,
    flags=&amp;lt;value optimized out&amp;gt;) at /root/lustre-release/lustre/mdt/mdt_reint.c:439
#11 0xffffffffa0cb2cb4 in mdt_reint_setattr (info=0xffff88016c095000,
    lhc=&amp;lt;value optimized out&amp;gt;) at /root/lustre-release/lustre/mdt/mdt_reint.c:575
#12 0xffffffffa0cac7b1 in mdt_reint_rec (info=0xffff88016c095000, lhc=0x0)
    at /root/lustre-release/lustre/mdt/mdt_reint.c:1352
#13 0xffffffffa0ca5df3 in mdt_reint_internal (info=0xffff88016c095000, lhc=0x0, op=1)
    at /root/lustre-release/lustre/mdt/mdt_handler.c:1755
#14 0xffffffffa0ca6124 in mdt_reint (info=0xffff88016c095000)
    at /root/lustre-release/lustre/mdt/mdt_handler.c:1816
#15 0xffffffffa0c940e8 in mdt_req_handle (req=0xffff88016a9ba400,
    supported=0xffffffffa0cf7860) at /root/lustre-release/lustre/mdt/mdt_handler.c:2983
#16 mdt_handle0 (req=0xffff88016a9ba400, supported=0xffffffffa0cf7860)
    at /root/lustre-release/lustre/mdt/mdt_handler.c:3337
#17 mdt_handle_common (req=0xffff88016a9ba400, supported=0xffffffffa0cf7860)
    at /root/lustre-release/lustre/mdt/mdt_handler.c:3379
#18 0xffffffffa0cd0335 in mds_regular_handle (req=&amp;lt;value optimized out&amp;gt;)
    at /root/lustre-release/lustre/mdt/mdt_mds.c:353
#19 0xffffffffa086f38c in ptlrpc_server_handle_request (svcpt=0xffff880181c00c00,
    thread=&amp;lt;value optimized out&amp;gt;) at /root/lustre-release/lustre/ptlrpc/service.c:1980
#20 0xffffffffa08708d5 in ptlrpc_main (arg=0xffff88016b9ce2c0)
    at /root/lustre-release/lustre/ptlrpc/service.c:2485
#21 0xffffffff8100c0ca in ?? () at arch/x86/kernel/entry_64.S:1211
#22 0x0000000000000000 in ?? ()


(gdb) f 4
#4  lod_declare_attr_set (env=0xffff88016ba1f400, dt=0xffff88016aa5b130,
    attr=0xffff88016c095160, handle=0xffff88016a0b14c0)
    at /root/lustre-release/lustre/lod/lod_object.c:335
335     RETURN(rc);

(gdb) p/x *attr
$5 = {
  la_size = 0x75,
  la_mtime = 0x5159a7e2,
  la_atime = 0x5159a7e2,
  la_ctime = 0x5159a7e2,
  la_blocks = 0x0,
  la_mode = 0x7f6a,
  la_uid = 0x96017240,
  la_gid = 0xffff8801,
  la_flags = 0x0,
  la_nlink = 0x0,
  la_blkbits = 0x0,
  la_blksize = 0x0,
  la_rdev = 0x0,
  la_valid = 0xe /* LA_MTIME | LA_CTIME | LA_SIZE */
}


(gdb) f 4
#4  lod_declare_attr_set (env=0xffff88016ba1f400, dt=0xffff88016aa5b130,
    attr=0xffff88016c095160, handle=0xffff88016a0b14c0)
    at /root/lustre-release/lustre/lod/lod_object.c:335
335     RETURN(rc);

(gdb) p/x *(struct lod_object *) 0xffff88016aa5b130
$15 = {
  ldo_obj = {
    do_lu = {
      lo_header = 0xffff88016ab74168,
      lo_dev = 0xffff8801802d0000,
      lo_ops = 0xffffffffa0d97c60,
      lo_linkage = {
        next = 0xffff88016a06d098,
        prev = 0xffff88016a075da8
      },
      lo_depth = 0x0,
      lo_flags = 0x1,
      lo_dev_ref = 0x0
    },
    do_ops = 0xffffffffa0d97b80,
    do_body_ops = 0x0,
    do_index_ops = 0x0,
    do_lock_ops = 0xffffffffa0d97c58
  },
  ldo_stripe_sem = {
    lock = {
      raw_lock = {
        slock = 0x0
      }
    },
    count = 0x1,
    wait_list = {
      next = 0xffff88016aa5b190,
      prev = 0xffff88016aa5b190
    }
  },
  ldo_stripenr = 0x1,
  ldo_layout_gen = 0x0,
  ldo_stripe_size = 0x100000,
  ldo_pool = 0xffff88016a0a3e80,
  ldo_stripe = 0xffff88016a0a3e60,
  ldo_stripes_allocated = 0x1,
  ldo_striping_cached = 0x0,
  ldo_def_striping_set = 0x0,
  ldo_def_stripe_size = 0x0,
  ldo_def_stripenr = 0x1,
  ldo_def_stripe_offset = 0xffff,
  ldo_mds_num = 0x0
}


(gdb) f 1
#1  0xffffffffa0db799a in osp_object_assign_fid (env=0xffff88016ba1f400,
    d=0xffff88017a7af000, o=0xffff880170909858)
    at /root/lustre-release/lustre/osp/osp_object.c:57
57     LASSERT(o-&amp;gt;opo_reserved);

$19 = {
  opo_header = {
    loh_flags = 0x0,
    loh_ref = {
      counter = 0x1
    },
    loh_fid = {
      f_seq = 0x100000000,
      f_oid = 0x15f,
      f_ver = 0x0
    },
    loh_attr = 0x0,
    loh_hash = {
      next = 0x0,
      pprev = 0xffffc900076637d8
    },
    loh_lru = {
      next = 0xffff880170909890,
      prev = 0xffff880170909890
    },
    loh_layers = {
      next = 0xffff8801709098c8,
      prev = 0xffff8801709098c8
    },
    loh_reference = {&amp;lt;No data fields&amp;gt;}
  },
  opo_obj = {
    do_lu = {
      lo_header = 0xffff880170909858,
      lo_dev = 0xffff88017a7af000,
      lo_ops = 0xffffffffa0dd4d00,
      lo_linkage = {
        next = 0xffff8801709098a0,
        prev = 0xffff8801709098a0
      },
      lo_depth = 0x0,
      lo_flags = 0x1,
      lo_dev_ref = 0x0
    },
    do_ops = 0xffffffffa0dd4c20,
    do_body_ops = 0x0,
    do_index_ops = 0x0,
    do_lock_ops = 0x0
  },
  opo_reserved = 0x0,
  opo_new = 0x1,
  opo_empty = 0x0,
  opo_sem = {
    count = 0x0,
    wait_lock = {
      raw_lock = {
        slock = 0x0
      }
    },
    wait_list = {
      next = 0x0,
      prev = 0x0
    }
  },
  opo_owner = 0x0
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
</comment>
                            <comment id="55224" author="jhammond" created="Mon, 1 Apr 2013 19:57:15 +0000"  >&lt;p&gt;BTW, with both patches (&lt;a href=&quot;http://review.whamcloud.com/#change,5802&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,5802&lt;/a&gt; and &lt;a href=&quot;http://review.whamcloud.com/5839&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5839&lt;/a&gt;) I do not see any LBUGs from setstripe vs truncate.&lt;/p&gt;

&lt;p&gt;It looks like the remaining case (chown()) could be handled by (conditionally) acquiring mot_lov_mutex in mdt_attr_set().&lt;/p&gt;</comment>
                            <comment id="61751" author="spitzcor" created="Wed, 3 Jul 2013 14:35:54 +0000"  >&lt;p&gt;John, do you plan on refreshing #5839?&lt;/p&gt;</comment>
                            <comment id="61820" author="jhammond" created="Thu, 4 Jul 2013 13:47:06 +0000"  >&lt;p&gt;Cory, yes, eventually. Are you seeing this assertion in production?&lt;/p&gt;</comment>
                            <comment id="61887" author="spitzcor" created="Mon, 8 Jul 2013 14:29:23 +0000"  >&lt;p&gt;John, not exactly production, but a small test system.  Upon initial look, it seemed that #5839 could solve/fix our problem.&lt;/p&gt;</comment>
                            <comment id="62227" author="paf" created="Fri, 12 Jul 2013 21:36:24 +0000"  >&lt;p&gt;John,&lt;/p&gt;

&lt;p&gt;We&apos;ve recently run in to the osp_sync_add_rec assertion on a system with 5802 and 5839. Sounds like you expected that, but I just wanted to let you know.&lt;/p&gt;</comment>
                            <comment id="63593" author="paf" created="Fri, 2 Aug 2013 18:58:04 +0000"  >&lt;p&gt;I tested and confirmed John&apos;s assertion that taking lov_mutex resolves the race condition.&lt;/p&gt;

&lt;p&gt;Patch for the last race condition is here.  Verified to resolve the issue, and I don&apos;t think the condition for taking the lock can be any more specific to chown:&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/7223&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/7223&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="65938" author="shadow" created="Fri, 6 Sep 2013 14:01:38 +0000"  >&lt;p&gt;any of these patches don&apos;t solve whole issue.&lt;br/&gt;
we still have a race when create object insert between declare and execute operation.&lt;/p&gt;</comment>
                            <comment id="65940" author="bzzz" created="Fri, 6 Sep 2013 14:14:05 +0000"  >&lt;p&gt;mot_lov_mutex should solve the race given it protects a chain of declare/execution.&lt;/p&gt;</comment>
                            <comment id="68766" author="green" created="Thu, 10 Oct 2013 20:14:56 +0000"  >&lt;p&gt;there&apos;s &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4083&quot; title=&quot;lod_lov.c:824:lod_load_striping()) ASSERTION( lo-&amp;gt;ldo_stripenr == 0 ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4083&quot;&gt;&lt;del&gt;LU-4083&lt;/del&gt;&lt;/a&gt; with a patch that is probably related.&lt;/p&gt;</comment>
                            <comment id="70272" author="haasken" created="Wed, 30 Oct 2013 16:26:46 +0000"  >&lt;p&gt;We&apos;ve run into a failed assertion added in patch 5839 on a system running Lustre 2.5 with patches 5802, 5839, and 7223 applied.  This is the failed assertion:&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;LustreError: 3407:0:(lod_object.c:993:lod_striping_create()) ASSERTION( lo-&amp;gt;ldo_stripe != ((void *)0) &amp;amp;&amp;amp; lo-&amp;gt;ldo_stripenr &amp;gt; 0 ) failed:
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="73619" author="haasken" created="Mon, 16 Dec 2013 21:31:28 +0000"  >&lt;p&gt;The patch for &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4083&quot; title=&quot;lod_lov.c:824:lod_load_striping()) ASSERTION( lo-&amp;gt;ldo_stripenr == 0 ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4083&quot;&gt;&lt;del&gt;LU-4083&lt;/del&gt;&lt;/a&gt; (7919) looks related to this issue, but &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4083&quot; title=&quot;lod_lov.c:824:lod_load_striping()) ASSERTION( lo-&amp;gt;ldo_stripenr == 0 ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4083&quot;&gt;&lt;del&gt;LU-4083&lt;/del&gt;&lt;/a&gt; is in the rename and unlink paths.  This bug is in the setattr path.  Since &lt;a href=&quot;http://review.whamcloud.com/#/c/5839/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/5839/&lt;/a&gt; was abandoned and obsoleted by 7919, does that imply that 7919 fixes this bug?  It doesn&apos;t look like it covers the setattr path.&lt;/p&gt;

&lt;p&gt;I think Patrick&apos;s patch at &lt;a href=&quot;http://review.whamcloud.com/#/c/7223/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/7223/&lt;/a&gt; attempts to fix the setattr path.  The complaint on that patch is that it looks into LOD internals.  However, &lt;a href=&quot;http://review.whamcloud.com/#/c/7919/4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/7919/4&lt;/a&gt; does the same thing, and that has landed.  What is preventing Patrick&apos;s change from landing?&lt;/p&gt;

&lt;p&gt;In Patrick&apos;s patch (7223), would it be preferable to lock mot_lov_mutex in mdt_reint_setattr around the call to mdt_attr_set?  That would match the way patch 7919 locks the mutex in mdt_reint_unlink around the call to mdo_unlink.  I&apos;m not sure if that would be correct though.&lt;/p&gt;

&lt;p&gt;Please share your thoughts on the relationship between patches 5839, 7919, and 7223.  Thanks!&lt;/p&gt;</comment>
                            <comment id="73758" author="spitzcor" created="Wed, 18 Dec 2013 16:24:13 +0000"  >&lt;p&gt;The fix version for this bug should probably be 2.6 (and 2.5.1 at least).&lt;/p&gt;</comment>
                            <comment id="87201" author="haasken" created="Fri, 20 Jun 2014 19:18:04 +0000"  >&lt;p&gt;I think that &lt;a href=&quot;http://review.whamcloud.com/#/c/7919&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/7919&lt;/a&gt; resolves the race condition in the unlink and rename paths, but isn&apos;t &lt;a href=&quot;http://review.whamcloud.com/#/c/7223/3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/7223/3&lt;/a&gt; still necessary for the setattr case?  After 7223 is landed, will this bug be ready to close?&lt;/p&gt;

&lt;p&gt;7223 was rejected on the basis that the mdt layer should not look into lod internals, but doesn&apos;t 7919 do the same thing?  Can we land 7223 as a short-term solution for the setattr case?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="17020">LU-2523</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="21346">LU-4083</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="22051">LU-4260</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="18152">LU-3059</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="18172">LU-3072</issuekey>
        </issuelink>
                            </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|hzvix3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6755</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>