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

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


<item>
            <title>[LU-3270] ptlrpcd strnlen crash trying to log a message</title>
                <link>https://jira.whamcloud.com/browse/LU-3270</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Just hit this (use after free, I think) after a few days of recovery-small:&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;[307783.003678] Lustre: DEBUG MARKER: == recovery-small test complete, duration 1814 sec == 08:30:02 (1367584202)
[307783.153758] BUG: unable to handle kernel paging request at ffff880097114fa8
[307783.154227] IP: [&amp;lt;ffffffff8127cc39&amp;gt;] strnlen+0x9/0x40
[307783.154604] PGD 1a26063 PUD 501067 PMD 5ba067 PTE 8000000097114163
[307783.155028] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[307783.155408] last sysfs file: /sys/devices/system/cpu/possible
[307783.155791] CPU 0 
[307783.155847] Modules linked in: lustre ofd osp lod ost mdt osd_ldiskfs fsfilt_ldiskfs ldiskfs mdd mgs lquota obdecho mgc lov osc mdc lmv fid fld ptlrpc obdclass lvfs ksocklnd lnet libcfs exportfs jbd sha512_generic sha256_generic ext4 mbcache jbd2 virtio_balloon virtio_console i2c_piix4 i2c_core virtio_blk virtio_net virtio_pci virtio_ring virtio pata_acpi ata_generic ata_piix dm_mirror dm_region_hash dm_log dm_mod nfs lockd fscache auth_rpcgss nfs_acl sunrpc be2iscsi bnx2i cnic uio ipv6 cxgb3i libcxgbi cxgb3 mdio libiscsi_tcp qla4xxx iscsi_boot_sysfs libiscsi scsi_transport_iscsi [last unloaded: libcfs]
[307783.156905] 
[307783.156905] Pid: 17616, comm: ptlrpcd_3 Not tainted 2.6.32-rhe6.4-debug #2 Bochs Bochs
[307783.156905] RIP: 0010:[&amp;lt;ffffffff8127cc39&amp;gt;]  [&amp;lt;ffffffff8127cc39&amp;gt;] strnlen+0x9/0x40
[307783.156905] RSP: 0018:ffff8800af8e9980  EFLAGS: 00010206
[307783.156905] RAX: ffffffff817a6cc1 RBX: ffff8800b00e1000 RCX: 0000000000000001
[307783.156905] RDX: ffff880097114fa8 RSI: 0000000000000017 RDI: ffff880097114fa8
[307783.156905] RBP: ffff8800af8e9980 R08: 000000000000002e R09: 0000000000000053
[307783.156905] R10: 0000000000000001 R11: 0000000000000104 R12: ffff8800b00e0a4b
[307783.156905] R13: ffff880097114fa8 R14: 00000000ffffffff R15: 0000000000000000
[307783.156905] FS:  00007fbed06dc700(0000) GS:ffff880006200000(0000) knlGS:0000000000000000
[307783.156905] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[307783.156905] CR2: ffff880097114fa8 CR3: 0000000001a25000 CR4: 00000000000006f0
[307783.156905] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[307783.156905] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[307783.156905] Process ptlrpcd_3 (pid: 17616, threadinfo ffff8800af8e8000, task ffff8800b08aa5c0)
[307783.156905] Stack:
[307783.156905]  ffff8800af8e99c0 ffffffff8127def0 ffff880099facdf0 ffff8800b00e0a4b
[307783.156905] &amp;lt;d&amp;gt; ffffffffa13328e0 ffffffffa13328df ffff8800af8e9b40 ffff8800b00e1000
[307783.156905] &amp;lt;d&amp;gt; ffff8800af8e9a60 ffffffff8127f338 0000000000000004 0000000affffffff
[307783.156905] Call Trace:
[307783.156905]  [&amp;lt;ffffffff8127def0&amp;gt;] string+0x40/0x100
[307783.156905]  [&amp;lt;ffffffff8127f338&amp;gt;] vsnprintf+0x218/0x5e0
[307783.156905]  [&amp;lt;ffffffffa0a9127b&amp;gt;] ? cfs_set_ptldebug_header+0x2b/0xc0 [libcfs]
[307783.156905]  [&amp;lt;ffffffffa0aa1b6b&amp;gt;] libcfs_debug_vmsg2+0x2fb/0xab0 [libcfs]
[307783.156905]  [&amp;lt;ffffffffa0aa2361&amp;gt;] libcfs_debug_msg+0x41/0x50 [libcfs]
[307783.156905]  [&amp;lt;ffffffffa0a9cde8&amp;gt;] ? libcfs_log_return+0x28/0x40 [libcfs]
[307783.156905]  [&amp;lt;ffffffffa132c2e5&amp;gt;] mdc_finish_intent_lock+0x535/0x7f0 [mdc]
[307783.156905]  [&amp;lt;ffffffffa0a9cde8&amp;gt;] ? libcfs_log_return+0x28/0x40 [libcfs]
[307783.156905]  [&amp;lt;ffffffffa132d388&amp;gt;] ? mdc_finish_enqueue+0x208/0x1180 [mdc]
[307783.156905]  [&amp;lt;ffffffffa132e626&amp;gt;] mdc_intent_getattr_async_interpret+0x326/0x4c0 [mdc]
[307783.156905]  [&amp;lt;ffffffffa0ea46b2&amp;gt;] ptlrpc_check_set+0x2b2/0x1da0 [ptlrpc]
[307783.156905]  [&amp;lt;ffffffffa0ed1e1b&amp;gt;] ptlrpcd_check+0x55b/0x590 [ptlrpc]
[307783.156905]  [&amp;lt;ffffffffa0ed2363&amp;gt;] ptlrpcd+0x233/0x390 [ptlrpc]
[307783.156905]  [&amp;lt;ffffffff8105ad10&amp;gt;] ? default_wake_function+0x0/0x20
[307783.156905]  [&amp;lt;ffffffffa0ed2130&amp;gt;] ? ptlrpcd+0x0/0x390 [ptlrpc]
[307783.156905]  [&amp;lt;ffffffff8100c10a&amp;gt;] child_rip+0xa/0x20
[307783.156905]  [&amp;lt;ffffffffa0ed2130&amp;gt;] ? ptlrpcd+0x0/0x390 [ptlrpc]
[307783.156905]  [&amp;lt;ffffffffa0ed2130&amp;gt;] ? ptlrpcd+0x0/0x390 [ptlrpc]
[307783.156905]  [&amp;lt;ffffffff8100c100&amp;gt;] ? child_rip+0x0/0x20
[307783.156905] Code: 66 90 48 83 c2 01 80 3a 00 75 f7 48 89 d0 48 29 f8 c9 c3 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 55 48 85 f6 48 89 e5 74 2e &amp;lt;80&amp;gt; 3f 00 74 29 48 83 ee 01 48 89 f8 eb 12 66 0f 1f 84 00 00 00 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Crashdump and modules are in /exports/crashdumps/192.168.10.217-2013-05-03-08\:30\:08/&lt;br/&gt;
source tag is 20130430&lt;/p&gt;</description>
                <environment></environment>
        <key id="18705">LU-3270</key>
            <summary>ptlrpcd strnlen crash trying to log a message</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="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>Fri, 3 May 2013 18:17:30 +0000</created>
                <updated>Mon, 10 Sep 2018 17:26:30 +0000</updated>
                            <resolved>Fri, 21 Nov 2014 16:10:17 +0000</resolved>
                                                    <fixVersion>Lustre 2.7.0</fixVersion>
                                        <due></due>
                            <votes>1</votes>
                                    <watches>18</watches>
                                                                            <comments>
                            <comment id="57685" author="green" created="Sun, 5 May 2013 04:53:49 +0000"  >&lt;p&gt;Hit it once more&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;[111421.423886] Lustre: DEBUG MARKER: == recovery-small test complete, duration 1966 sec == 21:24:24 (1367717064)
[111426.185618] BUG: unable to handle kernel paging request at ffff8800968dafa8
[111426.185917] IP: [&amp;lt;ffffffff8127cc39&amp;gt;] strnlen+0x9/0x40
[111426.186162] PGD 1a26063 PUD 501067 PMD 5b6067 PTE 80000000968da163
[111426.186438] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[111426.186686] last sysfs file: /sys/devices/system/cpu/possible
[111426.186934] CPU 7 
[111426.186970] Modules linked in: lustre ofd osp lod ost mdt osd_ldiskfs fsfilt_ldiskfs ldiskfs mdd mgs lquota obdecho mgc lov osc mdc lmv fid fld ptlrpc obdclass lvfs ksocklnd lnet libcfs exportfs jbd sha512_generic sha256_generic ext4 mbcache jbd2 virtio_balloon virtio_console i2c_piix4 i2c_core virtio_blk virtio_net virtio_pci virtio_ring virtio pata_acpi ata_generic ata_piix dm_mirror dm_region_hash dm_log dm_mod nfs lockd fscache auth_rpcgss nfs_acl sunrpc be2iscsi bnx2i cnic uio ipv6 cxgb3i libcxgbi cxgb3 mdio libiscsi_tcp qla4xxx iscsi_boot_sysfs libiscsi scsi_transport_iscsi [last unloaded: libcfs]
[111426.189508] 
[111426.189508] Pid: 26777, comm: ptlrpcd_1 Not tainted 2.6.32-rhe6.4-debug #2 Bochs Bochs
[111426.189508] RIP: 0010:[&amp;lt;ffffffff8127cc39&amp;gt;]  [&amp;lt;ffffffff8127cc39&amp;gt;] strnlen+0x9/0x40
[111426.189508] RSP: 0018:ffff8800b787d980  EFLAGS: 00010202
[111426.189508] RAX: ffffffff817a6cc1 RBX: ffff8800650bc000 RCX: 0000000000000001
[111426.189508] RDX: ffff8800968dafa8 RSI: 000000000000001a RDI: ffff8800968dafa8
[111426.189508] RBP: ffff8800b787d980 R08: 000000000000002e R09: 0000000000000053
[111426.189508] R10: 0000000000000001 R11: 000000000000006e R12: ffff8800650bb205
[111426.189508] R13: ffff8800968dafa8 R14: 00000000ffffffff R15: 0000000000000000
[111426.189508] FS:  00007fbb99048700(0000) GS:ffff8800063c0000(0000) knlGS:0000000000000000
[111426.189508] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[111426.189508] CR2: ffff8800968dafa8 CR3: 0000000001a25000 CR4: 00000000000006e0
[111426.189508] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[111426.189508] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[111426.189508] Process ptlrpcd_1 (pid: 26777, threadinfo ffff8800b787c000, task ffff8800b706e440)
[111426.189508] Stack:
[111426.189508]  ffff8800b787d9c0 ffffffff8127def0 ffff8800b06c3df0 ffff8800650bb205
[111426.189508] &amp;lt;d&amp;gt; ffffffffa08488e0 ffffffffa08488df ffff8800b787db40 ffff8800650bc000
[111426.189508] &amp;lt;d&amp;gt; ffff8800b787da60 ffffffff8127f338 0000000000000004 0000000affffffff
[111426.189508] Call Trace:
[111426.189508]  [&amp;lt;ffffffff8127def0&amp;gt;] string+0x40/0x100
[111426.189508]  [&amp;lt;ffffffff8127f338&amp;gt;] vsnprintf+0x218/0x5e0
[111426.189508]  [&amp;lt;ffffffffa08b627b&amp;gt;] ? cfs_set_ptldebug_header+0x2b/0xc0 [libcfs]
[111426.189508]  [&amp;lt;ffffffffa08c6b6b&amp;gt;] libcfs_debug_vmsg2+0x2fb/0xab0 [libcfs]
[111426.189508]  [&amp;lt;ffffffffa08c7361&amp;gt;] libcfs_debug_msg+0x41/0x50 [libcfs]
[111426.189508]  [&amp;lt;ffffffffa08c1de8&amp;gt;] ? libcfs_log_return+0x28/0x40 [libcfs]
[111426.189508]  [&amp;lt;ffffffffa08422e5&amp;gt;] mdc_finish_intent_lock+0x535/0x7f0 [mdc]
[111426.189508]  [&amp;lt;ffffffffa08c1de8&amp;gt;] ? libcfs_log_return+0x28/0x40 [libcfs]
[111426.189508]  [&amp;lt;ffffffffa0843388&amp;gt;] ? mdc_finish_enqueue+0x208/0x1180 [mdc]
[111426.189508]  [&amp;lt;ffffffffa0844626&amp;gt;] mdc_intent_getattr_async_interpret+0x326/0x4c0 [mdc]
[111426.189508]  [&amp;lt;ffffffffa06346b2&amp;gt;] ptlrpc_check_set+0x2b2/0x1da0 [ptlrpc]
[111426.189508]  [&amp;lt;ffffffffa0661e2b&amp;gt;] ptlrpcd_check+0x55b/0x590 [ptlrpc]
[111426.189508]  [&amp;lt;ffffffffa0662373&amp;gt;] ptlrpcd+0x233/0x390 [ptlrpc]
[111426.189508]  [&amp;lt;ffffffff8105ad10&amp;gt;] ? default_wake_function+0x0/0x20
[111426.189508]  [&amp;lt;ffffffffa0662140&amp;gt;] ? ptlrpcd+0x0/0x390 [ptlrpc]
[111426.189508]  [&amp;lt;ffffffff8100c10a&amp;gt;] child_rip+0xa/0x20
[111426.189508]  [&amp;lt;ffffffffa0662140&amp;gt;] ? ptlrpcd+0x0/0x390 [ptlrpc]
[111426.189508]  [&amp;lt;ffffffffa0662140&amp;gt;] ? ptlrpcd+0x0/0x390 [ptlrpc]
[111426.189508]  [&amp;lt;ffffffff8100c100&amp;gt;] ? child_rip+0x0/0x20
[111426.189508] Code: 66 90 48 83 c2 01 80 3a 00 75 f7 48 89 d0 48 29 f8 c9 c3 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 55 48 85 f6 48 89 e5 74 2e &amp;lt;80&amp;gt; 3f 00 74 29 48 83 ee 01 48 89 f8 eb 12 66 0f 1f 84 00 00 00 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Crashdump in /exports/crashdumps/192.168.10.223-2013-05-04-21\:24\:32&lt;br/&gt;
source tag master-20130505&lt;/p&gt;</comment>
                            <comment id="58527" author="green" created="Wed, 15 May 2013 01:30:37 +0000"  >&lt;p&gt;Well, this one seems to have turned into a very frequent occurence for me, so I dug into it some more.&lt;br/&gt;
The root reason is in statahead code.&lt;/p&gt;

&lt;p&gt;statahead thread creates a statahead request and pushes it to ptlrpcd, then after a while it decides to exit before the reply to that request is received. sa_entry refcount at 1 then dropped to 0 (decreased from 2 at ll_statehaed_one):&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;static void ll_sa_entry_cleanup(struct ll_statahead_info *sai,
                                 struct ll_sa_entry *entry)
{
        struct md_enqueue_info *minfo = entry-&amp;gt;se_minfo;
        struct ptlrpc_request  *req   = entry-&amp;gt;se_req;

        if (minfo) {
                entry-&amp;gt;se_minfo = NULL;
                ll_intent_release(&amp;amp;minfo-&amp;gt;mi_it);
                iput(minfo-&amp;gt;mi_dir);
                OBD_FREE_PTR(minfo);
        }

        if (req) {
                entry-&amp;gt;se_req = NULL;
                ptlrpc_req_finished(req);
        }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This code frees minfo that is still accessed in mdc_intent_getattr_async_interpret:&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;static int mdc_intent_getattr_async_interpret(const struct lu_env *env,
                                              struct ptlrpc_request *req,
                                              void *args, int rc)
{
        struct mdc_getattr_args  *ga = args;
        struct obd_export        *exp = ga-&amp;gt;ga_exp;
        struct md_enqueue_info   *minfo = ga-&amp;gt;ga_minfo;
...
        rc = mdc_finish_intent_lock(exp, req, &amp;amp;minfo-&amp;gt;mi_data, it, lockh);
...
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;mdc_finish_intent_lock tries to print op_data from minfo and dies deep in vsprintf stepping on freed memory.&lt;/p&gt;


&lt;p&gt;And here&apos;s a bit from the log while I have it:&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;00000100:00000040:6.0:1368112087.663178:0:6676:0:(ptlrpcd.c:271:ptlrpcd_add_req()) @@@ add req [ffff88005d64f7f0] to pc [ptlrpcd_7:7] &#160;req@ffff88005d64f7f0 x1434567312028328/t0(0) o101-&amp;gt;lustre-MDT0000-mdc-ffff8800682927f0@0@lo:12/10 lens 600/1080 e 0 to 0 dl 0 ref 1 fl New:/0/ffffffff rc 0/-1
00000080:00400000:6.0:1368112087.664185:0:6676:0:(statahead.c:1279:ll_statahead_thread()) stop agl thread: [pid 6676]
00000080:00000001:6.0:1368112087.664247:0:6676:0:(statahead.c:554:ll_sai_put()) Process leaving
00000080:00400000:6.0:1368112087.664247:0:6676:0:(statahead.c:1306:ll_statahead_thread()) statahead thread stopped: [pid 6676] [parent d51]
&#8230;
00000002:00100000:2.0:1368112087.664825:0:19458:0:(mdc_locks.c:579:mdc_finish_enqueue()) @@@ op: 8 disposition: 7, status: 0 &#160;req@ffff88005d64f7f0 x1434567312028328/t0(0) o101-&amp;gt;lustre-MDT0000-mdc-ffff8800682927f0@0@lo:12/10 lens 600/536 e 0 to 0 dl 1368112104 ref 1 fl Interpret:R/0/0 rc 301/301
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="58573" author="green" created="Wed, 15 May 2013 15:14:35 +0000"  >&lt;p&gt;here&apos;s my patch created after discussion with Fan Yong: &lt;a href=&quot;http://review.whamcloud.com/6348&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/6348&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="58633" author="yong.fan" created="Thu, 16 May 2013 02:48:44 +0000"  >&lt;p&gt;Hi Oleg, I found that the race may be NOT exist. Sorry I did NOT realise that when discussed with you.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; void ll_sa_entry_cleanup(struct ll_statahead_info *sai,
                                 struct ll_sa_entry *entry)
{
==&amp;gt;        struct md_enqueue_info *minfo = entry-&amp;gt;se_minfo;
        struct ptlrpc_request  *req   = entry-&amp;gt;se_req;

==&amp;gt;        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (minfo) {
                entry-&amp;gt;se_minfo = NULL;
                ll_intent_release(&amp;amp;minfo-&amp;gt;mi_it);
                iput(minfo-&amp;gt;mi_dir);
                OBD_FREE_PTR(minfo);
        }

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (req) {
                entry-&amp;gt;se_req = NULL;
                ptlrpc_req_finished(req);
        }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That means if the statahead thread can free the &quot;minfo&quot;, then the &quot;entry-&amp;gt;se_minfo&quot; must be set. But in the whole logic, only the &quot;ll_statahead_interpret()&quot; can set the &quot;entry-&amp;gt;se_minfo&quot; which is called by &quot;mdc_intent_getattr_async_interpret()&quot;. But before &quot;mdc_intent_getattr_async_interpret&quot; calls &quot;ll_statahead_interpret()&quot; to set &quot;entry-&amp;gt;se_minfo&quot;, it has already hold reference count on the &quot;entry&quot;. So at that time, the statahead thread should not trigger entry release processing.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; void ll_sa_entry_put(struct ll_statahead_info *sai,
                             struct ll_sa_entry *entry)
{
==&amp;gt;        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (cfs_atomic_dec_and_test(&amp;amp;entry-&amp;gt;se_refcount)) {
                CDEBUG(D_READA, &lt;span class=&quot;code-quote&quot;&gt;&quot;free sa entry %.*s(%p) index &quot;&lt;/span&gt;LPU64&lt;span class=&quot;code-quote&quot;&gt;&quot;\n&quot;&lt;/span&gt;,
                       entry-&amp;gt;se_qstr.len, entry-&amp;gt;se_qstr.name, entry,
                       entry-&amp;gt;se_index);

                LASSERT(cfs_list_empty(&amp;amp;entry-&amp;gt;se_link));
                LASSERT(cfs_list_empty(&amp;amp;entry-&amp;gt;se_list));
                LASSERT(ll_sa_entry_unhashed(entry));

                ll_sa_entry_cleanup(sai, entry);
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (entry-&amp;gt;se_inode)
                        iput(entry-&amp;gt;se_inode);

                OBD_FREE(entry, entry-&amp;gt;se_size);
                cfs_atomic_dec(&amp;amp;sai-&amp;gt;sai_cache_count);
        }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So there should be other issues we did not found yet...&lt;/p&gt;</comment>
                            <comment id="58635" author="green" created="Thu, 16 May 2013 04:01:02 +0000"  >&lt;p&gt;Yes, you are right.&lt;br/&gt;
per our skype discussion, the real issue is the freeing of entry-&amp;gt;name that mdc_finish_intent_lock tries to print afterwards.&lt;/p&gt;</comment>
                            <comment id="58725" author="yong.fan" created="Fri, 17 May 2013 01:32:13 +0000"  >&lt;p&gt;This is the new patch:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/#change,6372&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,6372&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="58746" author="laisiyao" created="Fri, 17 May 2013 08:10:19 +0000"  >&lt;p&gt;Separating statahead thread (exit) from statahead RPCs makes code complicated. I&apos;d prefer statahead thread wait for all inflight statahead RPCs finish, and clean them up and then exit. By this way statahead is not guaranteed to quit when ll_file_release() is called, but this should not be an issue. I&apos;ll implement this and if all goes well, I&apos;ll commit a patch separately.&lt;/p&gt;</comment>
                            <comment id="58827" author="green" created="Sat, 18 May 2013 05:38:45 +0000"  >&lt;p&gt;also one of the solutions could be to just embedd the name into opdata instead of just hte pointeer.&lt;br/&gt;
That would also resolve (part of) LU3306 and probably some more bugs.&lt;/p&gt;</comment>
                            <comment id="58849" author="laisiyao" created="Mon, 20 May 2013 01:40:45 +0000"  >&lt;p&gt;My patch is on &lt;a href=&quot;http://review.whamcloud.com/#change,6392&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,6392&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="72055" author="amk" created="Thu, 21 Nov 2013 18:56:38 +0000"  >&lt;p&gt;The patch &lt;a href=&quot;http://review.whamcloud.com/#change,6392&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,6392&lt;/a&gt; has not caused any regressions when run through Cray&apos;s vers system test suite.&lt;/p&gt;

&lt;p&gt;We adopted the patch because we encountered the LBUG:&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;&amp;gt; 14:06:40 LustreError: 16861:0:(statahead.c:351:do_sa_entry_fini()) ASSERTION( !ll_sa_entry_unhashed(entry) ) failed: 
&amp;gt; 14:06:40 LustreError: 16861:0:(statahead.c:351:do_sa_entry_fini()) LBUG
&amp;gt; 14:06:40 Pid: 16861, comm: DeletionService
&amp;gt; 14:06:40 Call Trace:
&amp;gt; 14:06:40 [&amp;lt;ffffffff81005db9&amp;gt;] try_stack_unwind+0x169/0x1b0
&amp;gt; 14:06:40 [&amp;lt;ffffffff81004849&amp;gt;] dump_trace+0x89/0x450
&amp;gt; 14:06:40 [&amp;lt;ffffffffa02278d7&amp;gt;] libcfs_debug_dumpstack+0x57/0x80 [libcfs]
&amp;gt; 14:06:40 [&amp;lt;ffffffffa0227e37&amp;gt;] lbug_with_loc+0x47/0xc0 [libcfs]
&amp;gt; 14:06:40 [&amp;lt;ffffffffa0888b02&amp;gt;] ll_sai_unplug+0x4b2/0x580 [lustre]
&amp;gt; 14:06:40 [&amp;lt;ffffffffa088b45b&amp;gt;] do_statahead_enter+0x32b/0x1900 [lustre]
&amp;gt; 14:06:40 [&amp;lt;ffffffffa08792bc&amp;gt;] ll_lookup_it+0x9cc/0xb00 [lustre]
&amp;gt; 14:06:40 [&amp;lt;ffffffffa087947c&amp;gt;] ll_lookup_nd+0x8c/0x3e0 [lustre]
&amp;gt; 14:06:41 [&amp;lt;ffffffff8114dacc&amp;gt;] d_alloc_and_lookup+0x4c/0x80
&amp;gt; 14:06:41 [&amp;lt;ffffffff8114f13e&amp;gt;] do_lookup+0x2ae/0x3b0
&amp;gt; 14:06:41 [&amp;lt;ffffffff811519b3&amp;gt;] path_lookupat+0xc3/0x5f0
&amp;gt; 14:06:41 [&amp;lt;ffffffff81151f15&amp;gt;] do_path_lookup+0x35/0xd0
&amp;gt; 14:06:41 [&amp;lt;ffffffff81152c63&amp;gt;] user_path_at_empty+0x83/0xb0
&amp;gt; 14:06:41 [&amp;lt;ffffffff81152ca1&amp;gt;] user_path_at+0x11/0x20
&amp;gt; 14:06:41 [&amp;lt;ffffffff81147905&amp;gt;] vfs_fstatat+0x55/0x90
&amp;gt; 14:06:41 [&amp;lt;ffffffff81147a6b&amp;gt;] vfs_stat+0x1b/0x20
&amp;gt; 14:06:41 [&amp;lt;ffffffff81147a94&amp;gt;] sys_newstat+0x24/0x50
&amp;gt; 14:06:41 [&amp;lt;ffffffff8138ce6b&amp;gt;] system_call_fastpath+0x16/0x1b
&amp;gt; 14:06:41 [&amp;lt;00002aaaab5dc325&amp;gt;] 0x2aaaab5dc325
&amp;gt; 14:06:41 Kernel panic - not syncing: LBUG
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Analysis of the associated dump showed that lli_sai was not NULL on entry to do_statahead_enter() but was NULL at the time of the ASSERTION. In the version of Lustre being run, do_statahead_enter() did not acquire the ll_sa_lock allowing the lli_sai to be changed. Patch 6392 adds lock/unlock calls on ll_sa_lock. With the patch, the LBUG has not been reproduced. The rest of the patch looks like it might have a positive effect on a ll_sa hang that we see occasionally but the verdict is still out.&lt;/p&gt;</comment>
                            <comment id="72824" author="paf" created="Wed, 4 Dec 2013 16:34:09 +0000"  >&lt;p&gt;This is the cover message from my Gerrit review, placed here so it&apos;s more readable:&lt;/p&gt;

&lt;p&gt;We hit the following assertion while running with this patch:&lt;/p&gt;

&lt;p&gt;&amp;gt; 02:54:14 LustreError: 17617:0:(statahead.c:1660:do_statahead_enter()) can&apos;t start ll_sa thread, rc: -2080&lt;br/&gt;
&amp;gt; 02:54:14 LustreError: 17617:0:(statahead.c:473:ll_sai_put()) ASSERTION( lli-&amp;gt;u.d.d_opendir_pid == 0 ) failed: &lt;br/&gt;
&amp;gt; 02:54:14 LustreError: 17617:0:(statahead.c:473:ll_sai_put()) LBUG&lt;br/&gt;
&amp;gt; 02:54:14 Pid: 17617, comm: du&lt;br/&gt;
&amp;gt; 02:54:14 Call Trace:&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff81005eb9&amp;gt;&amp;#93;&lt;/span&gt; try_stack_unwind+0x169/0x1b0&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff81004919&amp;gt;&amp;#93;&lt;/span&gt; dump_trace+0x89/0x450&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa022a8d7&amp;gt;&amp;#93;&lt;/span&gt; libcfs_debug_dumpstack+0x57/0x80 &lt;span class=&quot;error&quot;&gt;&amp;#91;libcfs&amp;#93;&lt;/span&gt;&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa022ae37&amp;gt;&amp;#93;&lt;/span&gt; lbug_with_loc+0x47/0xc0 &lt;span class=&quot;error&quot;&gt;&amp;#91;libcfs&amp;#93;&lt;/span&gt;&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa085fd14&amp;gt;&amp;#93;&lt;/span&gt; ll_sai_put+0x574/0x6e0 &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa0862e48&amp;gt;&amp;#93;&lt;/span&gt; do_statahead_enter+0x1598/0x19c0 &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa08003d0&amp;gt;&amp;#93;&lt;/span&gt; ll_revalidate_it+0xb10/0x1b10 &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffffa08015ce&amp;gt;&amp;#93;&lt;/span&gt; ll_revalidate_nd+0x1fe/0x3e0 &lt;span class=&quot;error&quot;&gt;&amp;#91;lustre&amp;#93;&lt;/span&gt;&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff81158f64&amp;gt;&amp;#93;&lt;/span&gt; do_lookup+0x134/0x3b0&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8115b913&amp;gt;&amp;#93;&lt;/span&gt; path_lookupat+0xc3/0x5f0&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8115be75&amp;gt;&amp;#93;&lt;/span&gt; do_path_lookup+0x35/0xd0&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8115cbc3&amp;gt;&amp;#93;&lt;/span&gt; user_path_at_empty+0x83/0xb0&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff8115cc01&amp;gt;&amp;#93;&lt;/span&gt; user_path_at+0x11/0x20&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff81151775&amp;gt;&amp;#93;&lt;/span&gt; vfs_fstatat+0x55/0x90&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff811517d4&amp;gt;&amp;#93;&lt;/span&gt; sys_newfstatat+0x24/0x50&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;ffffffff813c836b&amp;gt;&amp;#93;&lt;/span&gt; system_call_fastpath+0x16/0x1b&lt;br/&gt;
&amp;gt; 02:54:14 &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;00002aaaaad977ee&amp;gt;&amp;#93;&lt;/span&gt; 0x2aaaaad977ee&lt;/p&gt;

&lt;p&gt;This assertion was added in the statahead patch we took in the patch from 803507.&lt;/p&gt;

&lt;p&gt;(Note: #define lli_opendir_pid         u.d.d_opendir_pid)&lt;/p&gt;

&lt;p&gt;In particular, without the patch, ll_sai_put sets lli-&amp;gt;u.d.d_opendir_pid to 0.  The patch changes it to assert that lli-&amp;gt;u.d.d_opendir_pid is 0.&lt;/p&gt;

&lt;p&gt;Looking at some of the uses of ll_sai_put, we can see that lli-&amp;gt;u.d.d_opendir_pid is sometimes set to 0 before ll_sai_put is called called, but also that this is not done in do_statahead_enter.&lt;/p&gt;

&lt;p&gt;The inline comments give more detail.  I&apos;ve pointed out some of the ll_sai_put calls that appear problematic, but it&apos;s also called from other places and I&apos;m not sure the PID is necessarily zero in all of them.&lt;/p&gt;</comment>
                            <comment id="72870" author="laisiyao" created="Thu, 5 Dec 2013 02:38:44 +0000"  >&lt;p&gt;Patrick, you hit that assert because statahead is not started successfully. By design, sai has a refcount in allocation, and it will be put in ll_stop_statahead(), which will set opendir_pid to 0. And in normal situation, ll_stop_statahead() will be called in file release or statahead ratio is too low. So it means this function will be called before sai put its last refcount, which means this assert should be valid.&lt;/p&gt;

&lt;p&gt;I&apos;ll update the patch to handle this corner case.&lt;/p&gt;</comment>
                            <comment id="72924" author="amk" created="Thu, 5 Dec 2013 21:27:16 +0000"  >&lt;p&gt;&quot;you hit that assert because statahead is not started successfully&quot;&lt;/p&gt;

&lt;p&gt;Any idea why statahead may not have gotten started? The clue is probably this error message:&lt;/p&gt;

&lt;p&gt;(statahead.c:1660:do_statahead_enter()) can&apos;t start ll_sa thread, rc: -2080&lt;/p&gt;

&lt;p&gt;We do have a dump for the LBUG Patrick reported. I just haven&apos;t had time to do the analysis. Any guesses would be appreciated.&lt;/p&gt;</comment>
                            <comment id="72959" author="laisiyao" created="Fri, 6 Dec 2013 02:45:28 +0000"  >&lt;p&gt;Hmm, 2080 doesn&apos;t look to be a valid error number. What kernel version are you using?&lt;/p&gt;</comment>
                            <comment id="72984" author="amk" created="Fri, 6 Dec 2013 15:27:38 +0000"  >&lt;p&gt;The client, where the LBUG occurred, was running 2.5 on SLES 11 SP3 (Linux 3.0.82). &lt;br/&gt;
Servers were Lustre 2.5 on CentOS (2.6.32).&lt;/p&gt;
</comment>
                            <comment id="74142" author="phils@dugeo.com" created="Sat, 28 Dec 2013 23:55:47 +0000"  >&lt;p&gt;For what it&apos;s worth, we&apos;ve also hit the &quot;can&apos;t start ll_sa thread&quot; bug four times, though with a slightly different followup assertion:&lt;/p&gt;

&lt;p&gt;LustreError: 14399:0:(statahead.c:1698:do_statahead_enter()) can&apos;t start ll_sa thread: rc: -2752&lt;br/&gt;
LustreError: 14399:0:(statahead.c:1704:do_statahead_enter()) ASSERTION( lli-&amp;gt;u.d.d_sai == ((void *)0) ) failed&lt;/p&gt;

&lt;p&gt;I don&apos;t have all four crashes, but I believe that rc was different each time.&lt;/p&gt;

&lt;p&gt;Lustre: Lustre: Build Version: 2.5.0-RC1--PRISTINE-2.6.32-279.14.1.el6.x86_64&lt;br/&gt;
Linux hnod0032 2.6.32-279.19.1.el6.x86_64 #1 SMP Wed Dec 19 07:05:20 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux&lt;/p&gt;</comment>
                            <comment id="76514" author="amk" created="Fri, 7 Feb 2014 22:06:24 +0000"  >&lt;p&gt;With patchset 20 backported to 2.5, an ll_agl_XXXX thread occasionally hits a general protection fault in __wake_up. In all cases, the corresponding ll_sa_XXXX thread has terminated. Looks like the sai struct has been deallocated so the ll_agl_XXXX thread panics when it goes to access it.&lt;/p&gt;

&lt;p&gt;Dump uploaded to: ftp.whamcloud.com:/upload/&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3270&quot; title=&quot;ptlrpcd strnlen crash trying to log a message&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3270&quot;&gt;&lt;del&gt;LU-3270&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3270&quot; title=&quot;ptlrpcd strnlen crash trying to log a message&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3270&quot;&gt;&lt;del&gt;LU-3270&lt;/del&gt;&lt;/a&gt;_ll_agl_gpf.tgz&lt;br/&gt;
Client is Lustre 2.5 with &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3270&quot; title=&quot;ptlrpcd strnlen crash trying to log a message&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3270&quot;&gt;&lt;del&gt;LU-3270&lt;/del&gt;&lt;/a&gt; PS20 running on SLES11 SP3&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; ps | grep ll_sa
  20979      2   2  ffff88080f12f7e0  IN   0.0       0      0  [ll_sa_20914]
crash&amp;gt; ps | grep ll_agl
&amp;gt; 20978      2   0  ffff8807d9783080  RU   0.0       0      0  [ll_agl_20915]
  20980      2   3  ffff88080f12f040  IN   0.0       0      0  [ll_agl_20914]
crash&amp;gt; bt
PID: 20978  TASK: ffff8807d9783080  CPU: 0   COMMAND: &quot;ll_agl_20915&quot;
 #0 [ffff8807d9c1fcc0] die at ffffffff81005f6b
 #1 [ffff8807d9c1fcf0] do_general_protection at ffffffff8100361a
 #2 [ffff8807d9c1fd20] general_protection at ffffffff813628df
    [exception RIP: __wake_up_common+49]
    RIP: ffffffff8102fc91  RSP: ffff8807d9c1fdd0  RFLAGS: 00010096
    RAX: 5a5a5a5a5a5a5a5a  RBX: ffff88080095b118  RCX: 0000000000000000
    RDX: 0000000000000001  RSI: 0000000000000003  RDI: ffff88080095b118
    RBP: ffff8807d9c1fe00   R8: 5a5a5a5a5a5a5a42   R9: 0000000000000000
    R10: 0000000000000001  R11: 0000000000000001  R12: 0000000000000000
    R13: 0000000000000001  R14: ffff88080095b120  R15: 0000000000000000
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
 #3 [ffff8807d9c1fe08] __wake_up at ffffffff81032b68
 #4 [ffff8807d9c1fe48] ll_agl_thread at ffffffffa0795aa2 [lustre]
 #5 [ffff8807d9c1fee8] kthread at ffffffff8106610e
 #6 [ffff8807d9c1ff48] kernel_thread_helper at ffffffff81364034

crash&amp;gt; ll_inode_info ffff8806325a9580 | grep magic
  lli_inode_magic = 287116773,
crash&amp;gt; ll_inode_info ffff8806325a9580 | grep sai
      d_sai = 0x0,
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="82301" author="amk" created="Wed, 23 Apr 2014 17:50:37 +0000"  >&lt;p&gt;&amp;gt;&amp;gt; Any idea why statahead may not have gotten started? The clue is probably this error message:&lt;br/&gt;
&amp;gt;&amp;gt;&lt;br/&gt;
&amp;gt;&amp;gt; (statahead.c:1660:do_statahead_enter()) can&apos;t start ll_sa thread, rc: -2080&lt;/p&gt;

&lt;p&gt;Finally figured out the cause of this bug. The 64-bit output of kthread_run is being assigned to an int and truncated. In the cases where a valid task pointer, when interpreted as an int, falls between 0 and -4095 it is treated as an error. The code in ll_start_agl handles the return from kthread_run correctly.&lt;/p&gt;</comment>
                            <comment id="82346" author="laisiyao" created="Thu, 24 Apr 2014 02:17:48 +0000"  >&lt;p&gt;Thank you, I&apos;ll fix it in related patch soon.&lt;/p&gt;</comment>
                            <comment id="82866" author="haasken" created="Wed, 30 Apr 2014 16:42:05 +0000"  >&lt;p&gt;Lai, I have created &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4985&quot; title=&quot;Return value of kthread_run truncated to 32-bit int in ll_sa thread and elsewhere&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4985&quot;&gt;&lt;del&gt;LU-4985&lt;/del&gt;&lt;/a&gt; for the bug about incorrect handling of the kthread_run return value in start_statahead_thread.  That bug is also for other calls to kthread_run which are handled incorrectly.&lt;/p&gt;</comment>
                            <comment id="83136" author="laisiyao" created="Sun, 4 May 2014 12:59:20 +0000"  >&lt;p&gt;Thanks Ryan, and as is pointed out in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4985&quot; title=&quot;Return value of kthread_run truncated to 32-bit int in ll_sa thread and elsewhere&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4985&quot;&gt;&lt;del&gt;LU-4985&lt;/del&gt;&lt;/a&gt;, this has been fixed by &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3498&quot; title=&quot;most uses of IS_ERR_VALUE() are incorrect&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3498&quot;&gt;&lt;del&gt;LU-3498&lt;/del&gt;&lt;/a&gt;, which has been landed to master, and waiting to land on 2.5.&lt;/p&gt;</comment>
                            <comment id="92616" author="simmonsja" created="Wed, 27 Aug 2014 16:26:33 +0000"  >&lt;p&gt;Has this work been delayed until 2.8?&lt;/p&gt;</comment>
                            <comment id="93430" author="simmonsja" created="Mon, 8 Sep 2014 15:51:58 +0000"  >&lt;p&gt;Refreshed &lt;a href=&quot;http://review.whamcloud.com/#/c/9663&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/9663&lt;/a&gt;. Patch is ready for inspection.&lt;/p&gt;</comment>
                            <comment id="98179" author="simmonsja" created="Mon, 3 Nov 2014 15:11:26 +0000"  >&lt;p&gt;Many patches have been landed. Only one patch left at &lt;a href=&quot;http://review.whamcloud.com/#/c/9667&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/9667&lt;/a&gt;. Please inspect.&lt;/p&gt;</comment>
                            <comment id="99606" author="gerrit" created="Wed, 19 Nov 2014 19:15:44 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/9667/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/9667/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3270&quot; title=&quot;ptlrpcd strnlen crash trying to log a message&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3270&quot;&gt;&lt;del&gt;LU-3270&lt;/del&gt;&lt;/a&gt; statahead: small fixes and cleanup&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 672ab0e00d6148330561d21ccff9331124914d35&lt;/p&gt;</comment>
                            <comment id="99642" author="simmonsja" created="Thu, 20 Nov 2014 00:52:29 +0000"  >&lt;p&gt;Last patch has been merged. This ticket can be closed.&lt;/p&gt;</comment>
                            <comment id="99765" author="jlevi" created="Fri, 21 Nov 2014 16:10:17 +0000"  >&lt;p&gt;Patches landed to Master.&lt;/p&gt;</comment>
                            <comment id="100392" author="gerrit" created="Tue, 2 Dec 2014 08:14:15 +0000"  >&lt;p&gt;Lai Siyao (lai.siyao@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/12901&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/12901&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3270&quot; title=&quot;ptlrpcd strnlen crash trying to log a message&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3270&quot;&gt;&lt;del&gt;LU-3270&lt;/del&gt;&lt;/a&gt; statahead: refactor statahead code&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_5&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 2cccaaee80e60ca7cf1fcd701fe7705198099164&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="29419">LU-6439</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="37706">LU-8312</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="23136">LU-4624</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="22655">LU-4451</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|hzvq4v:</customfieldvalue>

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