<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:59:53 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-13274] Building againt lustreapi using -std=c99</title>
                <link>https://jira.whamcloud.com/browse/LU-13274</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;An application that uses the compiler flag &lt;em&gt;-std=c99&lt;/em&gt; wants to link against lustreapi. This was possible in version 2.8. Current versions of lustreapi use the linux kernel macro __&lt;em&gt;ALIGN_KERNEL()&lt;/em&gt; which contains the gnuism &lt;em&gt;typeof&lt;/em&gt;, as opposed the ISO version __&lt;em&gt;typeof&lt;/em&gt;__&lt;em&gt;.&lt;/em&gt; For older kernels that don&apos;t define ___&lt;em&gt;ALIGN_KERNEL(),&lt;/em&gt; Lustre conditionally defines it.&lt;/p&gt;

&lt;p&gt;The &quot;simplest&quot; fix would be for the application to add &lt;em&gt;-Dtypeof=&lt;/em&gt;__&lt;em&gt;typeof&lt;/em&gt;__&lt;em&gt;,&lt;/em&gt; however, this would require figuring out where in the build system to add such a flag. The other option would be to change Lustre and redefine &lt;em&gt;typeof&lt;/em&gt; to __&lt;em&gt;typeof&lt;/em&gt;__ in the source code of the files that use __&lt;em&gt;ALIGN_KERNEL()&lt;/em&gt; or maybe somewhere in the Lustre build system.&lt;/p&gt;

&lt;p&gt;Are there assumptions about the C version that is used by applications that use lustreapi?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="58142">LU-13274</key>
            <summary>Building againt lustreapi using -std=c99</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="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="simmonsja">James A Simmons</assignee>
                                    <reporter username="defazio">Gian-Carlo Defazio</reporter>
                        <labels>
                            <label>llnl</label>
                    </labels>
                <created>Thu, 20 Feb 2020 18:34:11 +0000</created>
                <updated>Thu, 10 Sep 2020 22:58:47 +0000</updated>
                            <resolved>Thu, 23 Apr 2020 17:20:41 +0000</resolved>
                                                    <fixVersion>Lustre 2.14.0</fixVersion>
                    <fixVersion>Lustre 2.12.5</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="263725" author="simmonsja" created="Thu, 20 Feb 2020 19:02:16 +0000"  >&lt;p&gt;This is strange. That means any file including kernel.h breaks with std99. That includes things like sysctl.h. I will have to look how other projects work around it.&lt;/p&gt;</comment>
                            <comment id="263730" author="simmonsja" created="Thu, 20 Feb 2020 19:51:07 +0000"  >&lt;p&gt;Can you try adding #include &amp;lt;stddef.h&amp;gt; and see if it works then&lt;/p&gt;</comment>
                            <comment id="263736" author="defazio" created="Thu, 20 Feb 2020 21:07:33 +0000"  >&lt;p&gt;Adding #include &amp;lt;stddef.h&amp;gt; didn&apos;t change anything. &lt;em&gt;typeof&lt;/em&gt; is still not recognized.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;The test program I&apos;m using is&#160;&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;#include &amp;lt;stddef.h&amp;gt;
#include &amp;lt;lustre/lustreapi.h&amp;gt;
int main(int argc, char* argv[]) {
        return 0;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;And I get this output, with or without &amp;lt;stddef.h&amp;gt; &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;gcc -DHAVE_CONFIG_H -I. -I../..   -include /g/g0/defazio1/lustre-release/undef.h -include /g/g0/defazio1/lustre-release/config.h -I/g/g0/defazio1/lustre-release/libcfs/include -I/g/g0/defazio1/lustre-release/lnet/include -I/g/g0/defazio1/lustre-release/lnet/include/uapi -I/g/g0/defazio1/lustre-release/lustre/include -I/g/g0/defazio1/lustre-release/lustre/include/uapi  -fPIC -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1  -std=c99 -g -O2 -Wall -Werror -MT test_param_get_values-test_param_get_values.o -MD -MP -MF .deps/test_param_get_values-test_param_get_values.Tpo -c -o test_param_get_values-test_param_get_values.o `test -f &apos;test_param_get_values.c&apos; || echo &apos;./&apos;`test_param_get_values.c
In file included from /g/g0/defazio1/lustre-release/lustre/include/lustre/lustreapi.h:44:0,
                 from test_param_get_values.c:26:
/g/g0/defazio1/lustre-release/lustre/include/uapi/linux/lustre/lustre_user.h: In function &apos;hai_first&apos;:
/g/g0/defazio1/lustre-release/lustre/include/uapi/linux/lustre/lustre_user.h:2321:2: error: implicit declaration of function &apos;typeof&apos; [-Werror=implicit-function-declaration]
  size_t offset = __ALIGN_KERNEL(strlen(hal-&amp;gt;hal_fsname) + 1, 8);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="263740" author="simmonsja" created="Thu, 20 Feb 2020 22:14:06 +0000"  >&lt;p&gt;Ouch I see many failures. This kind of overlaps with the issues I see with the native linux lustre client and its UAPI headers. If you enable&#160;CONFIG_UAPI_HEADER_TEST you see these kinds of errors. Let me see if I can fix things up.&lt;/p&gt;</comment>
                            <comment id="263840" author="gerrit" created="Fri, 21 Feb 2020 18:53:21 +0000"  >&lt;p&gt;James Simmons (jsimmons@infradead.org) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/37678&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37678&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: make lustre UAPI headers C99 compliant&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 3e7974482a1025dcdbefcd11844bb50cd972df86&lt;/p&gt;</comment>
                            <comment id="263841" author="simmonsja" created="Fri, 21 Feb 2020 18:57:20 +0000"  >&lt;p&gt;We still have LNet UAPI headers to fix &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="263844" author="defazio" created="Fri, 21 Feb 2020 21:18:14 +0000"  >&lt;p&gt;Thanks, I was able to compile my minimal test program using your patch.&lt;/p&gt;</comment>
                            <comment id="264186" author="defazio" created="Thu, 27 Feb 2020 21:17:22 +0000"  >&lt;p&gt;I commented on code review, but this is the more appropriate place...&lt;/p&gt;

&lt;p&gt;With patch 2 I can compile my dummy program with -std=c99, which just checks that the lustreapi.h header can be included. I was not able to compile liblustreapi.o with patch 2 using -std=c99, but users wouldn&apos;t do that anyways so I don&apos;t think it matters.&lt;/p&gt;

&lt;p&gt;I see that there&apos;s more going on than just changing typeof to _&lt;em&gt;typeof&lt;/em&gt;_ depending on compiler flags. Are you fixing other potential C version errors? Or is the code rearrangement for some other reason?&lt;/p&gt;</comment>
                            <comment id="264190" author="simmonsja" created="Thu, 27 Feb 2020 22:20:34 +0000"  >&lt;p&gt;In out test suite we have 2 test that make sure you can build user land applications using our library header as well has our UAPI kernel headers. When I added the std=c99 option to gcc a bunch of errors came out. So my patch address all the issues. The nice thing about updating our internal test that it makes sure any new code landed will actually work with std=c99. As for building our user land software stack I have to check that out. Never done that.&lt;/p&gt;</comment>
                            <comment id="265058" author="gerrit" created="Wed, 11 Mar 2020 02:19:26 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/37678/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37678/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: make lustre UAPI headers C99 compliant&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 7a7309fa849577ddd5a4f6bb5bfb69e84a7fec89&lt;/p&gt;</comment>
                            <comment id="265064" author="simmonsja" created="Wed, 11 Mar 2020 02:24:19 +0000"  >&lt;p&gt;More patches coming.&lt;/p&gt;</comment>
                            <comment id="265490" author="ofaaland" created="Tue, 17 Mar 2020 21:42:28 +0000"  >&lt;p&gt;&amp;gt; More patches coming.&lt;/p&gt;

&lt;p&gt;James,&lt;br/&gt;
What do the other patches fix?&lt;br/&gt;
Thanks&lt;/p&gt;</comment>
                            <comment id="265503" author="ofaaland" created="Tue, 17 Mar 2020 23:50:06 +0000"  >&lt;p&gt;Does this merit a backport to b2_12 in general?&#160; It does for us.&lt;/p&gt;</comment>
                            <comment id="265505" author="simmonsja" created="Tue, 17 Mar 2020 23:59:57 +0000"  >&lt;p&gt;LNet UAPI headers and one more round of fixes for Lustre UAPI headers. I have a patch for LNet already but haven&apos;t made a maloo test for it.&lt;/p&gt;

&lt;p&gt;For the Lustre UAPI header fixes its the fallout seen from CONFIG_UAPI_HEADER_TEST.&#160; Its pretty straight forward except for some reason the linux kernel does like the use of snprintf() in&#160;hai_dump_data_field(). Haven&apos;t figured out a solution yet.&lt;/p&gt;</comment>
                            <comment id="265587" author="gerrit" created="Wed, 18 Mar 2020 15:59:39 +0000"  >&lt;p&gt;James Simmons (jsimmons@infradead.org) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/37971&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37971&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: make lnet UAPI headers C99 compliant&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 6534401add98d741807cd44f1af4152c1ce14eed&lt;/p&gt;</comment>
                            <comment id="265595" author="gerrit" created="Wed, 18 Mar 2020 19:09:17 +0000"  >&lt;p&gt;Gian-Carlo DeFazio (defazio1@llnl.gov) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/37973&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37973&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: make lustre UAPI headers C99 compliant&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 98c09a4a057d05500e739a4e6f128661a74ad713&lt;/p&gt;</comment>
                            <comment id="266969" author="gerrit" created="Mon, 6 Apr 2020 21:15:20 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/37973/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37973/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: make lustre UAPI headers C99 compliant&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 0417dce9fc75ad8368b6a60fb8dd9556254e2741&lt;/p&gt;</comment>
                            <comment id="267065" author="gerrit" created="Tue, 7 Apr 2020 17:53:28 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/37971/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37971/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: make lnet UAPI headers C99 compliant&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 742897a967cff5be53c447d14b17ae405c2b31f2&lt;/p&gt;</comment>
                            <comment id="267072" author="pjones" created="Tue, 7 Apr 2020 18:12:25 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=simmonsja&quot; class=&quot;user-hover&quot; rel=&quot;simmonsja&quot;&gt;simmonsja&lt;/a&gt; is there more to come on this ticket?&lt;/p&gt;</comment>
                            <comment id="267074" author="simmonsja" created="Tue, 7 Apr 2020 18:18:38 +0000"  >&lt;p&gt;One last patch is coming.&lt;/p&gt;</comment>
                            <comment id="267496" author="gerrit" created="Mon, 13 Apr 2020 21:43:08 +0000"  >&lt;p&gt;James Simmons (jsimmons@infradead.org) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/38215&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38215&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: make lustre UAPI headers pass CONFIG_UAPI_HEADER_TEST&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 1d1f901b6ddc155832533f891cf24eba16b0ccd9&lt;/p&gt;</comment>
                            <comment id="268387" author="gerrit" created="Thu, 23 Apr 2020 16:49:34 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/38215/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38215/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: make lustre UAPI headers pass CONFIG_UAPI_HEADER_TEST&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: b93ef29660b6ac69d7ffd0f325be02c18835b4d2&lt;/p&gt;</comment>
                            <comment id="269469" author="gerrit" created="Thu, 7 May 2020 00:13:16 +0000"  >&lt;p&gt;Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/38520&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38520&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: fix build on older kernels&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: ead42b98dcef1844cc4790227c7ad1b58b88594d&lt;/p&gt;</comment>
                            <comment id="270614" author="gerrit" created="Tue, 19 May 2020 22:31:29 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/38520/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38520/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13274&quot; title=&quot;Building againt lustreapi using -std=c99&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13274&quot;&gt;&lt;del&gt;LU-13274&lt;/del&gt;&lt;/a&gt; uapi: fix build on older kernels&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: fd34cb106a601cf1c71cfb46a9887a5d0ba2e46f&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="56278">LU-12511</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="58232">LU-13315</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="59071">LU-13525</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|i00u2v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>