<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:27:19 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-2684] convert ost_id to lu_fid for FID_SEQ_NORMAL objects</title>
                <link>https://jira.whamcloud.com/browse/LU-2684</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;After &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-2682&quot; title=&quot;clean up direct _id and _seq access, use ost_id everywhere&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-2682&quot;&gt;&lt;del&gt;LU-2682&lt;/del&gt;&lt;/a&gt; is finished, the final step is to convert FID_SEQ_NORMAL object to use struct lu_fid in place of struct ost_id in all of the places it is used today.&lt;/p&gt;

&lt;p&gt;This will unify MDT and OST object identification, as well as DLM locking.&lt;/p&gt;</description>
                <environment></environment>
        <key id="17315">LU-2684</key>
            <summary>convert ost_id to lu_fid for FID_SEQ_NORMAL objects</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="13443">LU-1185</parent>
                                    <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="di.wang">Di Wang</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>LB</label>
                    </labels>
                <created>Fri, 25 Jan 2013 18:52:31 +0000</created>
                <updated>Tue, 7 May 2013 21:12:51 +0000</updated>
                            <resolved>Fri, 12 Apr 2013 23:23:20 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="53349" author="adilger" created="Tue, 5 Mar 2013 13:31:32 +0000"  >&lt;p&gt;What needs to be done for this change to be included for the 2.4 release?  This is the only time we will be able to convert ostid to lu_fid, since we can check for &quot;o_seq != 0&quot; to decide whether it is a FID or an old object/group=0.&lt;/p&gt;</comment>
                            <comment id="54724" author="di.wang" created="Sun, 24 Mar 2013 08:04:35 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/5820&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5820&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="54725" author="di.wang" created="Sun, 24 Mar 2013 08:06:20 +0000"  >&lt;p&gt;Andreas: this patch is the just the first try, and it only fix the resid order for data object. I will add more changes later.&lt;/p&gt;</comment>
                            <comment id="54987" author="di.wang" created="Thu, 28 Mar 2013 06:46:35 +0000"  >&lt;p&gt;Andreas: &lt;br/&gt;
    If we change this object id identification to be an union&lt;br/&gt;
    &lt;/p&gt;
{
          struct ost_id  oid;
          struct lu_fid  fid;
    }
&lt;p&gt;;&lt;/p&gt;

&lt;p&gt;struct ost_id {&lt;br/&gt;
    __u64 oi_id;&lt;br/&gt;
    __u64 oi_seq;&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;struct lu_fid {&lt;br/&gt;
    __u64 f_seq;&lt;br/&gt;
    __u32 f_oid;&lt;br/&gt;
    __u32 f_ver;&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;So when id comes in, we can check whether the object id by this&lt;/p&gt;

&lt;p&gt;        if (fid_seq_is_mdt0(oi-&amp;gt;o_seq) || fid_seq_is_echo(oi-&amp;gt;o_seq) || fid_seq_is_llog(oi-&amp;gt;o_seq)) {&lt;/p&gt;

&lt;p&gt;        }&lt;/p&gt;

&lt;p&gt;But there are some questions&lt;/p&gt;

&lt;p&gt;1. o_seq = 0 will never obsolete in current implementation, because MDT0 will always start using seq 0, instead of normal seq, even for new refresh FS and DNE. So it means such conversion will always exists, with this regard, do you think we still need this unification here?&lt;/p&gt;

&lt;p&gt;2. we need take care seq 1 (llog) and seq 2 (echo) as well, it means the first two bits of f_ver will be occupied as well, but in some big endian machine, seq(1,2) might be in the space of f_oid, which we can not tell it is normal FID or llog/echo seq. am I right?&lt;/p&gt;

&lt;p&gt;Could you please give some suggestion here?&lt;/p&gt;









</comment>
                            <comment id="55341" author="adilger" created="Tue, 2 Apr 2013 21:48:36 +0000"  >&lt;p&gt;Di, could you please post the email I sent you to this bug. I don&apos;t have access to it right now.&lt;/p&gt;</comment>
                            <comment id="55345" author="di.wang" created="Tue, 2 Apr 2013 22:35:37 +0000"  >&lt;p&gt;Here are replies from Andreas&lt;/p&gt;

&lt;p&gt;question1, o_seq = 0 will never obsolete in current implementation, because MDT0 will always start using seq 0, instead of normal seq, even for new refresh FS and DNE. So it means such conversion will always exists, with this regard, do you think we still need this unification here?&lt;/p&gt;

&lt;p&gt;Andreas:&lt;br/&gt;
&quot;Yes, in the future when the oldest supported clients are 2.4 and/or we backport seq != 0 support to 2.1 then we can start new filesystems to use fid on OST.&quot;&lt;/p&gt;

&lt;p&gt;question2, we need take care seq 1 (llog) and seq 2 (echo) as well, it means the first two bits of f_ver will be occupied as well, but in some big endian machine, seq(1,2) might be in the space of f_oid, which we can not tell it is normal FID or llog/echo seq. am I right?&lt;/p&gt;

&lt;p&gt;Andreas:&lt;br/&gt;
No, we never use ver today, it should not conflict until we support fid on OST everywhere. &lt;/p&gt;</comment>
                            <comment id="55992" author="pjones" created="Wed, 10 Apr 2013 11:29:58 +0000"  >&lt;p&gt;Landed for 2.4&lt;/p&gt;</comment>
                            <comment id="55993" author="bzzz" created="Wed, 10 Apr 2013 11:33:06 +0000"  >&lt;p&gt;this is what I got with gcc-4.7.2:&lt;/p&gt;

&lt;p&gt;In file included from /work/lustre/head1/lustre/ofd/ofd_obd.c:45:0:&lt;br/&gt;
/work/lustre/head1/lustre/ofd/ofd_obd.c: In function &apos;ofd_punch&apos;:&lt;br/&gt;
/work/lustre/head1/lustre/include/lustre/lustre_idl.h:582:3: error: &apos;oi.&amp;lt;Ud390&amp;gt;.oi.oi_id&apos; may be used uninitialized in this function &lt;span class=&quot;error&quot;&gt;&amp;#91;-Werror=uninitialized&amp;#93;&lt;/span&gt;&lt;br/&gt;
In file included from /work/lustre/head1/lustre/ofd/ofd_internal.h:43:0,&lt;br/&gt;
                 from /work/lustre/head1/lustre/ofd/ofd_obd.c:46:&lt;br/&gt;
/work/lustre/head1/lustre/include/lustre_fid.h:626:17: note: &apos;oi.&amp;lt;Ud390&amp;gt;.oi.oi_id&apos; was declared here&lt;br/&gt;
In file included from /work/lustre/head1/lustre/ofd/ofd_obd.c:45:0:&lt;br/&gt;
/work/lustre/head1/lustre/ofd/ofd_obd.c: In function &apos;ofd_destroy_by_fid&apos;:&lt;br/&gt;
/work/lustre/head1/lustre/include/lustre/lustre_idl.h:582:3: error: &apos;oi.&amp;lt;Ud390&amp;gt;.oi.oi_id&apos; may be used uninitialized in this function &lt;span class=&quot;error&quot;&gt;&amp;#91;-Werror=uninitialized&amp;#93;&lt;/span&gt;&lt;br/&gt;
In file included from /work/lustre/head1/lustre/ofd/ofd_internal.h:43:0,&lt;br/&gt;
                 from /work/lustre/head1/lustre/ofd/ofd_obd.c:46:&lt;br/&gt;
/work/lustre/head1/lustre/include/lustre_fid.h:626:17: note: &apos;oi.&amp;lt;Ud390&amp;gt;.oi.oi_id&apos; was declared here&lt;br/&gt;
In file included from /work/lustre/head1/lustre/ofd/ofd_obd.c:45:0:&lt;br/&gt;
/work/lustre/head1/lustre/ofd/ofd_obd.c: In function &apos;ofd_setattr&apos;:&lt;br/&gt;
/work/lustre/head1/lustre/include/lustre/lustre_idl.h:582:3: error: &apos;oi.&amp;lt;Ud390&amp;gt;.oi.oi_id&apos; may be used uninitialized in this function &lt;span class=&quot;error&quot;&gt;&amp;#91;-Werror=uninitialized&amp;#93;&lt;/span&gt;&lt;br/&gt;
In file included from /work/lustre/head1/lustre/ofd/ofd_internal.h:43:0,&lt;br/&gt;
                 from /work/lustre/head1/lustre/ofd/ofd_obd.c:46:&lt;br/&gt;
/work/lustre/head1/lustre/include/lustre_fid.h:626:17: note: &apos;oi.&amp;lt;Ud390&amp;gt;.oi.oi_id&apos; was declared here&lt;br/&gt;
cc1: all warnings being treated as errors&lt;/p&gt;


&lt;p&gt;seem to be related ?&lt;/p&gt;</comment>
                            <comment id="56018" author="di.wang" created="Wed, 10 Apr 2013 16:54:06 +0000"  >&lt;p&gt;Sigh, I am still using gcc-4.4.6 here. But I post a patch here &lt;a href=&quot;http://review.whamcloud.com/6016&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/6016&lt;/a&gt;, Could you please check whether this will help? Thanks&lt;/p&gt;</comment>
                            <comment id="56019" author="di.wang" created="Wed, 10 Apr 2013 16:54:38 +0000"  >&lt;p&gt;reopen for tracking compiling warning alex mentioned.&lt;/p&gt;</comment>
                            <comment id="56235" author="pjones" created="Fri, 12 Apr 2013 23:23:20 +0000"  >&lt;p&gt;Closing again - the compiler issue is being handled along with the fix for &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-2888&quot; title=&quot;After downgrade from 2.4 to 2.1.4, hit (osd_handler.c:2343:osd_index_try()) ASSERTION( dt_object_exists(dt) ) failed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-2888&quot;&gt;&lt;del&gt;LU-2888&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="13305">LU-1139</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="18429">LU-3179</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="17313">LU-2682</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="18446">LU-3187</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="17733">LU-2888</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|hzvg73:</customfieldvalue>

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