<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:31:45 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-3190] Interop 2.3.0&lt;-&gt;2.4 Failed on lustre-rsync-test test 3b: ASSERTION( lio-&gt;lis_lsm != ((void *)0) ) failed</title>
                <link>https://jira.whamcloud.com/browse/LU-3190</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Hit following LBUG when running lustre-rsync-test test 3b&lt;br/&gt;
In tag-2.3.62, the same test passed&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;Lustre: DEBUG MARKER: == lustre-rsync-test test 3b: Replicate files created by writemany == 17:57:47 (1366246667)
LustreError: 6661:0:(lmv_obd.c:850:lmv_iocontrol()) error: iocontrol MDC lustre-MDT0000_UUID on MDTidx 0 cmd c0086696: err = -2
LustreError: 6661:0:(lmv_obd.c:850:lmv_iocontrol()) Skipped 1415 previous similar messages
Lustre: DEBUG MARKER: == lustre-rsync-test test 3c: Replicate files created by createmany/unlinkmany == 17:59:17 (1366246757)
Lustre: DEBUG MARKER: == lustre-rsync-test test 4: Replicate files created by iozone == 17:59:33 (1366246773)
LustreError: 7489:0:(lcommon_cl.c:1210:cl_file_inode_init()) Failure to initialize cl object [0x20001d0f0:0x340d:0x0]: -95
LustreError: 7489:0:(lcommon_cl.c:1210:cl_file_inode_init()) Failure to initialize cl object [0x20001d0f0:0x340d:0x0]: -95
LustreError: 7489:0:(lov_io.c:311:lov_io_slice_init()) ASSERTION( lio-&amp;gt;lis_lsm != ((void *)0) ) failed: 
LustreError: 7489:0:(lov_io.c:311:lov_io_slice_init()) LBUG
Pid: 7489, comm: lustre_rsync

Message from
Call Trace:
 syslogd@client- [&amp;lt;ffffffffa0996905&amp;gt;] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
5 at Apr 17 18:0 [&amp;lt;ffffffffa0996f17&amp;gt;] lbug_with_loc+0x47/0xb0 [libcfs]
0:04 ...
 kern [&amp;lt;ffffffffa06b5088&amp;gt;] lov_io_init_raid0+0x6d8/0x810 [lov]
el:LustreError:  [&amp;lt;ffffffffa06ac037&amp;gt;] lov_io_init+0x97/0x160 [lov]
7489:0:(lov_io.c [&amp;lt;ffffffffa0dd1578&amp;gt;] cl_io_init0+0x98/0x160 [obdclass]
 [&amp;lt;ffffffffa0dd4464&amp;gt;] cl_io_init+0x64/0x100 [obdclass]
 [&amp;lt;ffffffffa07e6fed&amp;gt;] cl_glimpse_size0+0x7d/0x190 [lustre]
:311:lov_io_slic [&amp;lt;ffffffffa07a3f32&amp;gt;] ll_inode_revalidate_it+0xf2/0x1c0 [lustre]
 [&amp;lt;ffffffffa07a4049&amp;gt;] ll_getattr_it+0x49/0x170 [lustre]
 [&amp;lt;ffffffffa07a41a7&amp;gt;] ll_getattr+0x37/0x40 [lustre]
 [&amp;lt;ffffffff81214343&amp;gt;] ? security_inode_getattr+0x23/0x30
e_init()) ASSERT [&amp;lt;ffffffff81180571&amp;gt;] vfs_getattr+0x51/0x80
 [&amp;lt;ffffffffa09a2088&amp;gt;] ? libcfs_log_return+0x28/0x40 [libcfs]
 [&amp;lt;ffffffff8118082f&amp;gt;] vfs_fstat+0x3f/0x60
 [&amp;lt;ffffffff81180874&amp;gt;] sys_newfstat+0x24/0x40
 [&amp;lt;ffffffff810d6b12&amp;gt;] ? audit_syscall_entry+0x272/0x2a0
 [&amp;lt;ffffffff8100b0f2&amp;gt;] system_call_fastpath+0x16/0x1b

ION( lio-&amp;gt;lis_lsKernel panic - not syncing: LBUG
m != ((void *)0)Pid: 7489, comm: lustre_rsync Not tainted 2.6.32-279.5.1.el6.x86_64 #1
 ) failed: 
Call Trace:

Message from s [&amp;lt;ffffffff814fd24a&amp;gt;] ? panic+0xa0/0x168
yslogd@client-5  [&amp;lt;ffffffffa0996f6b&amp;gt;] ? lbug_with_loc+0x9b/0xb0 [libcfs]
at Apr 17 18:00: [&amp;lt;ffffffffa06b5088&amp;gt;] ? lov_io_init_raid0+0x6d8/0x810 [lov]
04 ...
 kernel [&amp;lt;ffffffffa06ac037&amp;gt;] ? lov_io_init+0x97/0x160 [lov]
:LustreError: 74 [&amp;lt;ffffffffa0dd1578&amp;gt;] ? cl_io_init0+0x98/0x160 [obdclass]
89:0:(lov_io.c:3 [&amp;lt;ffffffffa0dd4464&amp;gt;] ? cl_io_init+0x64/0x100 [obdclass]
11:lov_io_slice_ [&amp;lt;ffffffffa07e6fed&amp;gt;] ? cl_glimpse_size0+0x7d/0x190 [lustre]
init()) LBUG
 [&amp;lt;ffffffffa07a3f32&amp;gt;] ? ll_inode_revalidate_it+0xf2/0x1c0 [lustre]

Message from  [&amp;lt;ffffffffa07a4049&amp;gt;] ? ll_getattr_it+0x49/0x170 [lustre]
syslogd@client-5 [&amp;lt;ffffffffa07a41a7&amp;gt;] ? ll_getattr+0x37/0x40 [lustre]
 at Apr 17 18:00 [&amp;lt;ffffffff81214343&amp;gt;] ? security_inode_getattr+0x23/0x30
:04 ...
 kerne [&amp;lt;ffffffff81180571&amp;gt;] ? vfs_getattr+0x51/0x80
l:Kernel panic - [&amp;lt;ffffffffa09a2088&amp;gt;] ? libcfs_log_return+0x28/0x40 [libcfs]
 not syncing: LB [&amp;lt;ffffffff8118082f&amp;gt;] ? vfs_fstat+0x3f/0x60
UG
 [&amp;lt;ffffffff81180874&amp;gt;] ? sys_newfstat+0x24/0x40
 [&amp;lt;ffffffff810d6b12&amp;gt;] ? audit_syscall_entry+0x272/0x2a0
 [&amp;lt;ffffffff8100b0f2&amp;gt;] ? system_call_fastpath+0x16/0x1b
Initializing cgroup subsys cpuset
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>server: lustre-master tag-2.3.64 build #1411&lt;br/&gt;
client: 2.3.0</environment>
        <key id="18450">LU-3190</key>
            <summary>Interop 2.3.0&lt;-&gt;2.4 Failed on lustre-rsync-test test 3b: ASSERTION( lio-&gt;lis_lsm != ((void *)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="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="bobijam">Zhenyu Xu</assignee>
                                    <reporter username="sarah">Sarah Liu</reporter>
                        <labels>
                            <label>LB</label>
                    </labels>
                <created>Thu, 18 Apr 2013 01:08:27 +0000</created>
                <updated>Mon, 1 Dec 2014 10:23:13 +0000</updated>
                            <resolved>Mon, 1 Dec 2014 10:23:13 +0000</resolved>
                                    <version>Lustre 2.3.0</version>
                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>10</watches>
                                                                            <comments>
                            <comment id="56654" author="pjones" created="Sat, 20 Apr 2013 13:53:28 +0000"  >&lt;p&gt;Bobijam&lt;/p&gt;

&lt;p&gt;Could you please comment on this one?&lt;/p&gt;

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

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="56663" author="bobijam" created="Mon, 22 Apr 2013 04:05:22 +0000"  >&lt;p&gt;Sarah,&lt;/p&gt;

&lt;p&gt;Is it possible to collect some debug log? I&apos;ve tried to reproduce the issue, but didn&apos;t make it.&lt;/p&gt;</comment>
                            <comment id="56842" author="green" created="Tue, 23 Apr 2013 18:07:09 +0000"  >&lt;p&gt;Important part here is to understand how did layout disappear and how likely it is to hit this in workloads other than lustre-rsync.&lt;/p&gt;</comment>
                            <comment id="56887" author="sarah" created="Tue, 23 Apr 2013 22:47:15 +0000"  >&lt;p&gt;I will try to reproduce it and get the debug log&lt;/p&gt;</comment>
                            <comment id="56898" author="jay" created="Wed, 24 Apr 2013 00:38:52 +0000"  >&lt;p&gt;is it possible for the layout to be changed during the test which I didn&apos;t see in the test?&lt;/p&gt;

&lt;p&gt;However, the old clients have problem to handle layout change anyway. Should we block all IO by setting layout to empty, if a file&apos;s layout has been changed in an old client?&lt;/p&gt;</comment>
                            <comment id="56989" author="sarah" created="Wed, 24 Apr 2013 22:36:03 +0000"  >&lt;p&gt;I can reproduce this issue, it isn&apos;t only triggered by test_3b, just run the whole lustre-rsync-test and will hit it. The attached is debug log, please check.&lt;/p&gt;</comment>
                            <comment id="57011" author="bobijam" created="Thu, 25 Apr 2013 08:02:35 +0000"  >&lt;p&gt;Will we release further 2.3.x lustre? The latest commit date of b2_3 is &quot;Sat Oct 20 09:29:08 2012 -0400&quot;.&lt;/p&gt;</comment>
                            <comment id="57045" author="bobijam" created="Thu, 25 Apr 2013 15:00:25 +0000"  >&lt;p&gt;Sarah,&lt;/p&gt;

&lt;p&gt;Could you please try this b2_3 patch when build finishes?&lt;/p&gt;</comment>
                            <comment id="57046" author="pjones" created="Thu, 25 Apr 2013 15:19:06 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/6167&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/6167&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="57093" author="sarah" created="Fri, 26 Apr 2013 03:45:25 +0000"  >&lt;p&gt;the test passed with the b2_3 patch&lt;br/&gt;
&lt;a href=&quot;https://maloo.whamcloud.com/test_sets/3566a5f4-ae23-11e2-bbea-52540035b04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maloo.whamcloud.com/test_sets/3566a5f4-ae23-11e2-bbea-52540035b04c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="57192" author="green" created="Sat, 27 Apr 2013 20:07:19 +0000"  >&lt;p&gt;It looks like we can actually address this issue on master to guard old clients from tripping.&lt;/p&gt;

&lt;p&gt;2..0 doe not set OBD_CONNECT_LAYOUTLOCK so the feature is supposed to be disabled for such clients. Yet we apparently still grant layout lock back to them?&lt;br/&gt;
it&apos;s ok for 2.1 clients, they would just ignore unknown bits, but 2.3 clients actually know about hte bit.&lt;br/&gt;
So the solution is probably to mask off unknown bits server-side when forming RPCs, I think.&lt;/p&gt;</comment>
                            <comment id="57198" author="jay" created="Sun, 28 Apr 2013 03:58:56 +0000"  >&lt;p&gt;2.3 clients just have that bit defined but not enabled. The server didn&apos;t grant layout lock back. Just a different layout was granted back and client had problem to handle it. Actually I don&apos;t know why the layout was changed - it&apos;d be great if we can collect a log about this. 2.3 client did report an error however the error was wrongly ignored.&lt;/p&gt;

&lt;p&gt;Do we do compatibility test between 2.1/2.2 and 2.4 servers? &lt;/p&gt;</comment>
                            <comment id="57204" author="pjones" created="Sun, 28 Apr 2013 07:57:34 +0000"  >&lt;p&gt;Jinshan&lt;/p&gt;

&lt;p&gt;We do test 2.1.x clients with 2.4 servers but not 2.2&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="57247" author="green" created="Mon, 29 Apr 2013 18:06:36 +0000"  >&lt;p&gt;Jinshan: different layout granted back during rsync does not make much sense, unless the transition was from NULL to populated layout, but this is actually a long-supported layout change, so should be fine.&lt;/p&gt;

&lt;p&gt;There&apos;s a debug log attached to this ticket, if it&apos;s not enough, can you please describe what additional stuff would you like to see there?&lt;/p&gt;</comment>
                            <comment id="57278" author="sarah" created="Mon, 29 Apr 2013 22:44:58 +0000"  >&lt;p&gt;Jinshan is now taking the test nodes which I used to reproduce this issue. We also found with the latest master build #1446, the lustre-rsync-test failed in the test_1 as &quot;FAIL: Failure in replication; differences found.&quot; between 2.3 client and 2.4 server, I will file a separated ticket when I get the nodes back. &lt;/p&gt;</comment>
                            <comment id="57291" author="jay" created="Tue, 30 Apr 2013 04:51:32 +0000"  >&lt;p&gt;I did some investigation on this issue, I guess FIDs on the MDT is wrong.&lt;/p&gt;

&lt;p&gt;In the rsync test, it creates link files and uses fid2path for replication. However, fid2path is disordered as the following can 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;[root@client-5 ~]# lfs getstripe /mnt/lustre/d0.lustre-rsync-test/d1/d1/link1 
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link1
lmm_stripe_count:   1
lmm_stripe_size:    1048576
lmm_layout_gen:     0
lmm_stripe_offset:  0
	obdidx		 objid		objid		 group
	     0	          3394	        0xd42	             0

[root@client-5 ~]# lfs getstripe /mnt/lustre/d0.lustre-rsync-test/d1/d1/link2
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link2
lmm_stripe_count:   1
lmm_stripe_size:    1048576
lmm_layout_gen:     0
lmm_stripe_offset:  0
	obdidx		 objid		objid		 group
	     0	          3394	        0xd42	             0

[root@client-5 ~]# lfs path2fid /mnt/lustre/d0.lustre-rsync-test/d1/d1/link2
[0x200000402:0x38:0x0]
[root@client-5 ~]# lfs path2fid /mnt/lustre/d0.lustre-rsync-test/d1/d1/link1
[0x200000402:0x38:0x0]
[root@client-5 ~]# lfs fid2path /mnt/lustre &apos;[0x200000402:0x29:0x0]&apos;
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link1
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link2
[root@client-5 ~]# lfs fid2path /mnt/lustre &quot;[0x200000402:0x38:0x0]&quot;
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link1
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link2
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;link1 and link2 are hard link and the FID is &apos;&lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x38:0x0&amp;#93;&lt;/span&gt;&apos;.&lt;/p&gt;

&lt;p&gt;FID &apos;&lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt;&apos; is the file which it hit LBUG. I also dumped the layout unfortunately the objid is not 0xd42.&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: 30192:0:(lov_object.c:641:lov_conf_set()) lov ffff880329d78b58 changing lsm ffff8802dcae81c0 to ffff88031e69c3c0 failed
LustreError: 30192:0:(debug.c:70:dump_lsm()) lsm ffff8802dcae81c0, objid 0x29, maxbytes 0xffffffff000, magic 0x0BD10BD0, stripe_size 1048576, stripe_count 1, refc: 1, layout_gen 0, pool []
LustreError: 30192:0:(debug.c:70:dump_lsm()) lsm ffff88031e69c3c0, objid 0x38, maxbytes 0xffffffff000, magic 0x0BD10BD0, stripe_size 1048576, stripe_count 1, refc: 1, layout_gen 0, pool []
LustreError: 30192:0:(lcommon_cl.c:1210:cl_file_inode_init()) Failure to initialize cl object ffff8802dc6dfa48 [0x200000402:0x29:0x0]: -95

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The object id are 0x29 and 0x38 respectively. I guess somehow the fid in the dir entry for hard link is broken.&lt;/p&gt;

&lt;p&gt;Also in the test, I&apos;ve ever seen that two FID2 were pointing to the same file. There is no opening file in the system at that time.&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;[root@client-5 ~]# lfs fid2path /mnt/lustre &apos;[0x200000400:0x1a0d:0x0]&apos;
/mnt/lustre/d0.lustre-rsync-test/d2/clients/client0/~dmtmp/ACCESS/INV.PRN
[root@client-5 ~]# lfs fid2path /mnt/lustre &apos;[0x200000400:0x1a0b:0x0]&apos;
/mnt/lustre/d0.lustre-rsync-test/d2/clients/client0/~dmtmp/ACCESS/INV.PRN
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I guess there is some problem with fid2path code. I will investigate this.&lt;/p&gt;</comment>
                            <comment id="57368" author="jay" created="Tue, 30 Apr 2013 20:22:02 +0000"  >&lt;p&gt;Apparently the same file would have different FIDs if it&apos;s being accessed from directory hierarchy and fid2path ways. I don&apos;t think this is a problem about client IO code.&lt;/p&gt;


&lt;p&gt;I think there are something wrong with changelog and linkea code. Unfortunately I&apos;m not an expert about this piece of code.&lt;/p&gt;</comment>
                            <comment id="57377" author="adilger" created="Tue, 30 Apr 2013 21:42:09 +0000"  >&lt;p&gt;Di, you were recently working on the fid2path code for DNE in &lt;a href=&quot;http://review.whamcloud.com/5676&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5676&lt;/a&gt;.  Is it possible this patch introduced a defect?&lt;/p&gt;</comment>
                            <comment id="57378" author="di.wang" created="Tue, 30 Apr 2013 21:58:41 +0000"  >&lt;p&gt;Hmm, it seems this bug only exists between 2.3 clients and 2.4 server, i.e. it works fine with master. Patch 5676 mostly are server side changes, there are some changes on the client side, but all about DNE. So I would say unlikely, but I will investigate it a bit.&lt;/p&gt;
</comment>
                            <comment id="57386" author="jay" created="Tue, 30 Apr 2013 22:36:33 +0000"  >&lt;p&gt;It looks like stale FIDs can still exist in the linkea or OI table. This confused the client because sometimes two FIDs claimed the same OST objects and sometimes a file&apos;s stripe data can change. However, this can only happen for changelog and fid2path code.&lt;/p&gt;</comment>
                            <comment id="57388" author="jay" created="Tue, 30 Apr 2013 22:39:06 +0000"  >&lt;p&gt;Also, from the snippet of mdt_getattr_internal() in mdt_handler.c,&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;if&lt;/span&gt; (mdt_body_has_lov(la, reqbody)) {
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (ma-&amp;gt;ma_valid &amp;amp; MA_LOV) {
                        LASSERT(ma-&amp;gt;ma_lmm_size);
                        mdt_dump_lmm(D_INFO, ma-&amp;gt;ma_lmm);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;From the log message, the FID in layout dumped here is not in sync with MDT object.&lt;/p&gt;</comment>
                            <comment id="57416" author="adilger" created="Wed, 1 May 2013 06:43:07 +0000"  >&lt;p&gt;Is there some idea why the FID became stale in the first place?  Is this rename-over-open-file or similar?  In that case, it seems possible that a FID (inode) still exists and has the same pathname as another FID.  In the kernel, when this happens to files in /proc/&lt;/p&gt;
{pid}
&lt;p&gt;/fd/* they append &quot; (deleted)&quot; at the end of the pathname to make this obvious...&lt;/p&gt;</comment>
                            <comment id="57418" author="di.wang" created="Wed, 1 May 2013 07:13:27 +0000"  >&lt;p&gt;Another thing interesting(according to jinshan&apos;s comment on 30/Apr/13 4:51 AM) is that, Changelog somehow provide &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt;, then by .lustre, it retrieve the inode with FID &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x38:0x0&amp;#93;&lt;/span&gt;, which can explain why fid2path return the same path for different FID. And also according to the comments &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;[root@client-5 ~]# lfs path2fid /mnt/lustre/d0.lustre-rsync-test/d1/d1/link2
[0x200000402:0x38:0x0]
[root@client-5 ~]# lfs path2fid /mnt/lustre/d0.lustre-rsync-test/d1/d1/link1
[0x200000402:0x38:0x0]
[root@client-5 ~]# lfs fid2path /mnt/lustre &apos;[0x200000402:0x29:0x0]&apos;
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link1
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link2
[root@client-5 ~]# lfs fid2path /mnt/lustre &quot;[0x200000402:0x38:0x0]&quot;
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link1
/mnt/lustre/d0.lustre-rsync-test/d1/d1/link2
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;According to the test script in lustre-rsync-test.sh&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;  #hard and soft links
    cat /etc/hosts &amp;gt; $DIR/$tdir/d1/link1
    ln  $DIR/$tdir/d1/link1  $DIR/$tdir/d1/link2
    ln -s $DIR/$tdir/d1/link1  $DIR/$tdir/d1/link3
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That is the only related operation for link1 and link2, it seems unlikely changelog will mess up here. So I suspect OI table might be messed up somehow, but this can not explain why&lt;br/&gt;
1. only 2.3 clients trigger this problem.&lt;br/&gt;
2. where does this &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt; come from?&lt;/p&gt;

&lt;p&gt;Fang yong, Could you please comment? Thanks. &lt;/p&gt;


</comment>
                            <comment id="57514" author="yong.fan" created="Thu, 2 May 2013 13:52:28 +0000"  >&lt;p&gt;Why do you think the &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt; and &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x38:0x0&amp;#93;&lt;/span&gt; map to the same inode? Is it possible that the &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt; was the FID of old link1 for former test_1? And for some reason, the old link1&apos;s inode was not destroyed. Then &apos;fid2path&apos; on &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt; will show the same result as &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x38:0x0&amp;#93;&lt;/span&gt; does.&lt;/p&gt;

&lt;p&gt;According to the test_1 create history, the FID &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt; does not belong to current test_1. To verify that, please try on current link1:&lt;/p&gt;

&lt;p&gt;1) ln $DIR/$tdir/d1/link1 $DIR/$tdir/d1/foo&lt;/p&gt;

&lt;p&gt;2) lfs fid2path /mnt/lustre &apos;&lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt;&apos;&lt;/p&gt;

&lt;p&gt;If the result does not show &apos;/mnt/lustre/d0.lustre-rsync-test/d1/d1/foo&apos;, then &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt; and &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x38:0x0&amp;#93;&lt;/span&gt; map to the different inode.&lt;/p&gt;

&lt;p&gt;On the other hand, please show &quot;/proc/fs/lustre/osd-ldiskfs/lustre-MDT0000/oi_scrub&quot; and &quot;/proc/fs/lustre/mdd/lustre-MDT0000/lfsck_namespace&quot; when hit the issues again. Thanks!&lt;/p&gt;</comment>
                            <comment id="57553" author="adilger" created="Thu, 2 May 2013 18:20:26 +0000"  >&lt;p&gt;Is it possible that the bug here is that the inode&apos;s linkEA was not removed when the unlink was done?&lt;/p&gt;

&lt;p&gt;It seems to me that the &apos;&lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt;&apos; FID shouldn&apos;t have a linkEA that still has the &quot;link1&quot; and &quot;link2&quot; names in it for that parent directory, if it has been deleted.  At that point fid2path should just return nothing for an open-unlinked file.&lt;/p&gt;</comment>
                            <comment id="57558" author="adilger" created="Thu, 2 May 2013 18:37:19 +0000"  >&lt;p&gt;Alternately, is it possible that we are not deleting the unlinked file from the OI, and it is finding the FID-&amp;gt;inode mapping for a deleted file?  I see the following code which may be causing this:&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;mdd_unlink()-&amp;gt;
  mdd_finish_unlink()
  {
        [AD] The &lt;span class=&quot;code-quote&quot;&gt;&quot;rc == 0&quot;&lt;/span&gt; check here is completely redundant and should be removed
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc == 0 &amp;amp;&amp;amp; (ma-&amp;gt;ma_attr.la_nlink == 0 || is_dir))
                obj-&amp;gt;mod_flags |= DEAD_OBJ;
  }
  mdd_links_del()-&amp;gt;
    mdd_links_rename()-&amp;gt;
      &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; mdd_linkea_prepare()
      {
          &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (mdd_obj-&amp;gt;mod_flags &amp;amp; DEAD_OBJ)
                &lt;span class=&quot;code-comment&quot;&gt;/* No more links, don&apos;t bother */&lt;/span&gt;
                RETURN(0);
      }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So this is marking the object with DEAD_OBJ when it has nlink == 0, regardless of whether it is still open or not, and this skips removal of the linkEA entries.  If this object can still be found via fid2path() then it will return incorrect pathnames.  If the file is deleted, then it shouldn&apos;t be accessible via fid2path() at all, just returning -ENOENT.  If the file is open-unlinked, then the linkEA removal should not be skipped, so fid2path() returns nothing at all.&lt;/p&gt;</comment>
                            <comment id="57592" author="di.wang" created="Thu, 2 May 2013 22:36:41 +0000"  >&lt;p&gt;According to xiong&apos;s comment(30/Apr/13 10:39 PM), the object we got by FID, has different lmm_oi in its EA, i.e. client try to get object by &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x29:0x0&amp;#93;&lt;/span&gt;, but get one object with &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000402:0x38:0x0&amp;#93;&lt;/span&gt; in its lmm_oi. That is why I suspect OI return me wrong object. Otherwise, FIDs and lmm_oi are not in sync, which seems unlikely to me. But I do not have further proof for now. Sigh, I can not reproduce this ticket locally on my VM.&lt;/p&gt;</comment>
                            <comment id="57607" author="green" created="Fri, 3 May 2013 05:24:11 +0000"  >&lt;p&gt;After discussing this with Jinshan and WangDi, the issue at hand is mostly about accessing stuff via .lustre/fid interface, so seems to be pretty minor for the interop scenario.&lt;/p&gt;

&lt;p&gt;The dangerous part is the stale fid access might still be there in 2.4 as well (and seems to be a recent addition too), it&apos;s just less visible because 2.4 does not panic on layout change.&lt;/p&gt;

&lt;p&gt;Still overall I thing this does not need to be such a high blocker anymore.&lt;/p&gt;</comment>
                            <comment id="57608" author="di.wang" created="Fri, 3 May 2013 05:30:48 +0000"  >&lt;p&gt;I just checked the debug log carefully, it seems OI cache is fine. Sorry about the noise. The real issue is that even dead object(deleted from the namespace) will still return linkEA, this is wrong. (So Andreas&apos;s comment on  02/May/13 6:37 PM) is correct. I will cook a patch.&lt;/p&gt;</comment>
                            <comment id="57610" author="di.wang" created="Fri, 3 May 2013 06:32:36 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/#change,6252&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,6252&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="57681" author="jay" created="Sat, 4 May 2013 17:22:51 +0000"  >&lt;p&gt;Suddenly I realize the current linkea is okay. There is nothing wrong for two FIDs to point to the same file path - actually they are two separate files. Sorry for misleading.&lt;/p&gt;

&lt;p&gt;So the problem boils down to the inconsistent layout was be returned through OBF, as what I mentioned at comment &quot;30/Apr/13 3:39 PM&quot;. Is there any CLI tool to map a FID to the inode # in the OSD?&lt;/p&gt;</comment>
                            <comment id="57683" author="di.wang" created="Sun, 5 May 2013 01:15:14 +0000"  >&lt;p&gt;It turns out OI cache problem, as jinshan said, object FID is different with the lmm_oi, so I add this patch in osd_xattr_get to dump some information.&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;-       return __osd_xattr_get(inode, dentry, name, buf-&amp;gt;lb_buf, buf-&amp;gt;lb_len);
+       rc = __osd_xattr_get(inode, dentry, name, buf-&amp;gt;lb_buf, buf-&amp;gt;lb_len);
+       if (strcmp(name, XATTR_NAME_LOV) == 0 &amp;amp;&amp;amp; rc &amp;gt; 0) {
+               struct lov_mds_md *md = (struct lov_mds_md *)buf-&amp;gt;lb_buf;
+               if (unlikely(fid_oid(lu_object_fid(&amp;amp;dt-&amp;gt;do_lu)) != md-&amp;gt;lmm_oi.oi.oi_id)) {
+                       struct lu_fid fid = {0};
+                       struct osd_object *lmm_oi_obj;
+                       struct osd_inode_id id1 = {0}, id2 = {0}, id3 = {0};
+                       struct osd_device *osd = osd_obj2dev(obj);
+                       int rc1,rc2, rc0;
+
+                       fid.f_oid = md-&amp;gt;lmm_oi.oi.oi_id;
+                       fid.f_seq = md-&amp;gt;lmm_oi.oi.oi_seq;
+                       CERROR(&quot;Uncorrect layout for &quot;DFID&quot; FID is &quot;DFID&quot; &quot;DFID&quot; %u:%u\n&quot;,
+                              PFID(lu_object_fid(&amp;amp;dt-&amp;gt;do_lu)), PFID(&amp;amp;fid), PFID(&amp;amp;info-&amp;gt;oti_cache.oic_fid), info-&amp;gt;oti_cache.oic_lid.oii_ino, info-&amp;gt;oti_cache.oic_lid.oii_gen);
+
+                       rc0 = osd_oii_lookup(osd, lu_object_fid(&amp;amp;dt-&amp;gt;do_lu), &amp;amp;id3);
+                       rc1 = osd_oi_lookup(info, osd, &amp;amp;fid, &amp;amp;id1, false);
+                       rc2 = osd_oi_lookup(info, osd, lu_object_fid(&amp;amp;dt-&amp;gt;do_lu), &amp;amp;id2, false);
+
+                       lmm_oi_obj = osd_object_find(env, dt, &amp;amp;fid);
+                       if(IS_ERR(lmm_oi_obj)) {
+                               CERROR(&quot;can not find obj by &quot;DFID&quot;\n&quot;, PFID(&amp;amp;fid));
+                       } else {
+                               CERROR(&quot;object inode %p %p %lu %u:%u rc %d dt obj %p %p %lu %u:%u Rc %d rc0 %d id3 %u:%u\n&quot;, lmm_oi_obj-&amp;gt;oo_inode, lmm_oi_obj-&amp;gt;oo_inode, lmm_oi_obj-&amp;gt;oo_inode-&amp;gt;i_ino, id1.oii_ino, id1.oii_gen, rc1,
+                                       obj, obj-&amp;gt;oo_inode, obj-&amp;gt;oo_inode-&amp;gt;i_ino, id2.oii_ino, id2.oii_gen, rc2, rc0, id3.oii_ino, id3.oii_gen); 
+                       }
+
+                       LBUG();
+               }
+       }
+       return rc;
 }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And when the error happens, the output are&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;Lustre: DEBUG MARKER: == lustre-rsync-test test 4: Replicate files created by iozone == 01:15:24 (1367655324)
LustreError: 3606:0:(osd_handler.c:2647:osd_xattr_get()) Uncorrect layout for [0x200000400:0x586f:0x0] FID is [0x200000400:0x5871:0x0] [0x200000400:0x586f:0x0] 161:818259173 (oic_cache)
LustreError: 3606:0:(osd_handler.c:2658:osd_xattr_get()) object inode ffff88007b5a7ba0 ffff88007b5a7ba0 161 161:818259173 rc 0 dt obj ffff880065a8e818 ffff88007b5a7ba0 161 0:0 Rc -2 rc0 -2 id3 0:0
LustreError: 3606:0:(osd_handler.c:2661:osd_xattr_get()) LBUG
Pid: 3606, comm: mdt00_002
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So we can see both &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000400:0x586f:0x0&amp;#93;&lt;/span&gt; (unlinked one) and &lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000400:0x5871:0x0&amp;#93;&lt;/span&gt;(corrected one) are pointing to the inode ffff88007b5a7ba0(161), but only correct one can be found in osd_oi_lookup, which means OI table is correct. But it seems the unlinked pair is left in the oi cache(&lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000400:0x586f:0x0&amp;#93;&lt;/span&gt;, 161), so we can still get one inode 161 from osd_fid_lookup. But unfortunately inode 161 has been be used to by the new object(&lt;span class=&quot;error&quot;&gt;&amp;#91;0x200000400:0x5871:0x0&amp;#93;&lt;/span&gt;), that is why we different lmm_oi here. And it seems this patch are good enough to fix the problem&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;diff --git a/lustre/osd-ldiskfs/osd_oi.c b/lustre/osd-ldiskfs/osd_oi.c
index 574b706..dc7f5e8 100644
--- a/lustre/osd-ldiskfs/osd_oi.c
+++ b/lustre/osd-ldiskfs/osd_oi.c
@@ -674,6 +674,10 @@ int osd_oi_delete(struct osd_thread_info *info,
 {
        struct lu_fid *oi_fid = &amp;amp;info-&amp;gt;oti_fid2;
 
+       /* clear idmap cache */
+       if (lu_fid_eq(fid, &amp;amp;info-&amp;gt;oti_cache.oic_fid))
+               memset(&amp;amp;info-&amp;gt;oti_cache, 0, sizeof(struct osd_idmap_cache));
+
        if (fid_is_last_id(fid))
                return 0;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

</comment>
                            <comment id="57687" author="adilger" created="Sun, 5 May 2013 06:55:57 +0000"  >&lt;p&gt;Jinshan,&lt;br/&gt;
I don&apos;t agree with your comment that it is OK to have two inodes with the same pathname at the same time.  That isn&apos;t possible in the namespace, just like you cannot have two files in the same directory with the same filename at the same time.  I&apos;m not objecting to two inodes that had the same name at different times (which seems to be the case here), but only the new one should resolve to the pathname with fid2path().  The old file can return any &lt;em&gt;other&lt;/em&gt; pathnames that it still has, or return an ENOENT error if it is unlinked.&lt;/p&gt;

&lt;p&gt;Di,&lt;br/&gt;
it still seems to make sense to not return any pathnames in the case of an open-unlinked inode.  In this case, even if the oti_cache was pointing to the unlinked inode, there shouldn&apos;t have been any entries in the &quot;link&quot; xattr to return, so either the inode didn&apos;t get written to disk after it was unlinked, or the &quot;link&quot; entries are not being written for unlinked inodes.  I still think that case needs to be handled properly, and checking the &quot;DEAD&quot; and &quot;ORPHAN&quot; flags is probably the right way to go.&lt;/p&gt;</comment>
                            <comment id="57696" author="di.wang" created="Sun, 5 May 2013 22:56:07 +0000"  >&lt;p&gt;Yes, I totally agree we should not return LinkEA for the object once it is removed from the namespace.&lt;/p&gt;</comment>
                            <comment id="57697" author="sarah" created="Mon, 6 May 2013 00:34:01 +0000"  >&lt;p&gt;After running patch set 5 for 3 times, cannot reproduce this issue, usually will hit this bug before sub test_5. All runs failed on sub test_7, please refer to &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3279&quot; title=&quot;Interop 2.3.0 &amp;lt;-&amp;gt; 2.4 failure on test suite lustre-rsync-test test_7: Failure in replication; differences found&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3279&quot;&gt;&lt;del&gt;LU-3279&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://maloo.whamcloud.com/test_sets/5584e96e-b5de-11e2-9d08-52540035b04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maloo.whamcloud.com/test_sets/5584e96e-b5de-11e2-9d08-52540035b04c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="57698" author="di.wang" created="Mon, 6 May 2013 01:11:16 +0000"  >&lt;p&gt;Sigh, only remove oi_cache in current thread info seems not enough, and we should remove this oi in the cache of all thread infos. &lt;/p&gt;</comment>
                            <comment id="57699" author="yong.fan" created="Mon, 6 May 2013 01:27:29 +0000"  >&lt;p&gt;In fact, the per-thread based &quot;FID =&amp;gt; ino#/gen&quot; mapping should be fixed, if someone removed the inode, and caused the OI mapping deleted from the OI file, the related &quot;inode::n_link&quot; should be zero, or if the inode is reused by others, then the &quot;inode::i_generation&quot; will be changed. So other threads cached old &quot;FID =&amp;gt; ion/gen&quot; mapping will be invalid automatically, because nobody can use the old &quot;ino/gen&quot; to find out the inode. One special case is that: if the cached generation is &quot;OSD_OII_NOGEN&quot;, then we need verify with the inode&apos;s LMA.&lt;/p&gt;</comment>
                            <comment id="57713" author="di.wang" created="Mon, 6 May 2013 06:43:58 +0000"  >&lt;p&gt;hmm, we probably should not put OSD_OII_NOGEN to the oi_cache, which make us unable to compare the generation at all. Just update the patch, please have a look.&lt;/p&gt;</comment>
                            <comment id="57778" author="sarah" created="Mon, 6 May 2013 22:24:12 +0000"  >&lt;p&gt;Patch set 7 didn&apos;t hit the LBUG but still failed test_7 as &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3279&quot; title=&quot;Interop 2.3.0 &amp;lt;-&amp;gt; 2.4 failure on test suite lustre-rsync-test test_7: Failure in replication; differences found&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3279&quot;&gt;&lt;del&gt;LU-3279&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="57931" author="jlevi" created="Wed, 8 May 2013 18:40:35 +0000"  >&lt;p&gt;Lower priority as patch landed to master.&lt;br/&gt;
But &lt;a href=&quot;http://review.whamcloud.com/#change,6167&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#change,6167&lt;/a&gt; still needs to land.&lt;/p&gt;</comment>
                            <comment id="58117" author="adilger" created="Fri, 10 May 2013 06:36:28 +0000"  >&lt;p&gt;With the &lt;a href=&quot;http://review.whamcloud.com/6252&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/6252&lt;/a&gt; patch landed to return -ENOENT for old FIDs (or is that -ESTALE?), does lustre-rsync-test still crash on a 2.3 client?  Is change 6167 even needed for b2_3 anymore?&lt;/p&gt;</comment>
                            <comment id="100291" author="adilger" created="Mon, 1 Dec 2014 10:23:13 +0000"  >&lt;p&gt;Fixed for 2.4.0, won&apos;t fix for 2.3.0 anymore.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="18714">LU-3279</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="12560" name="debug.tgz" size="614119" author="sarah" created="Wed, 24 Apr 2013 22:55:12 +0000"/>
                    </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|hzvogf:</customfieldvalue>

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