<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:01:25 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-6578] inodebit locks for remote entries.</title>
                <link>https://jira.whamcloud.com/browse/LU-6578</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&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;int mdc_intent_getattr_async(struct obd_export *exp,
                             struct md_enqueue_info *minfo,
                             struct ldlm_enqueue_info *einfo)
{
        struct md_op_data       *op_data = &amp;amp;minfo-&amp;gt;mi_data;
        struct lookup_intent    *it = &amp;amp;minfo-&amp;gt;mi_it;
        struct ptlrpc_request   *req;
        struct mdc_getattr_args *ga;
        struct obd_device       *obddev = class_exp2obd(exp);
        struct ldlm_res_id       res_id;
        /*XXX: Both MDS_INODELOCK_LOOKUP and MDS_INODELOCK_UPDATE are needed
         *     for statahead currently. Consider CMD in future, such two bits
         *     maybe managed by different MDS, should be adjusted then. */
        ldlm_policy_data_t       policy = {
                                        .l_inodebits = { MDS_INODELOCK_LOOKUP |
                                                         MDS_INODELOCK_UPDATE }
                                 };
        int                      rc = 0;
        __u64                    flags = LDLM_FL_HAS_INTENT;
        ENTRY;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="29896">LU-6578</key>
            <summary>inodebit locks for remote entries.</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <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="laisiyao">Lai Siyao</assignee>
                                    <reporter username="di.wang">Di Wang</reporter>
                        <labels>
                            <label>dne2</label>
                    </labels>
                <created>Wed, 6 May 2015 23:01:10 +0000</created>
                <updated>Fri, 9 Sep 2016 19:30:34 +0000</updated>
                            <resolved>Wed, 23 Sep 2015 13:06:34 +0000</resolved>
                                    <version>Lustre 2.7.0</version>
                    <version>Lustre 2.5.3</version>
                    <version>Lustre 2.8.0</version>
                                    <fixVersion>Lustre 2.8.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="120606" author="adilger" created="Tue, 7 Jul 2015 18:06:31 +0000"  >&lt;p&gt;Di, what is needed to fix this? Can you please add a description, and maybe Lai can work on it?&lt;/p&gt;</comment>
                            <comment id="120665" author="di.wang" created="Wed, 8 Jul 2015 01:03:40 +0000"  >&lt;p&gt;lmv_intent_getattr_async needs to be fixed to handle such cross-MDT object. So &lt;/p&gt;

&lt;p&gt;1. If the parent and child are in the same MDT. then lmv_intent_getattr_async --&amp;gt; mdc_intent_getattr_async can get both LOOKUP| UPDATE lock.&lt;br/&gt;
2. if they are in different MDTs, it needs to get LOOKUP lock on the parent MDT, and UPDATE lock on the child MDT. that said lmv_intent_getattr_async should know parent FID, name, and child FID, i.e. these information should be input into the lmv_intent_getattr_async().&lt;/p&gt;</comment>
                            <comment id="121512" author="laisiyao" created="Fri, 17 Jul 2015 04:13:04 +0000"  >&lt;p&gt;After some thoughts, I think this may not be necessary, or at least not urgent to support remote entries for statahead now. Because it needs send two RPCs to fetch two locks from different MDT, and furthermore the UPDATE lock may need to be fetched after LOOKUP lock is fetched (to verify it&apos;s the same fid), all these is hard to implement asynchronously.&lt;/p&gt;

&lt;p&gt;IMHO if statahead doesn&apos;t fetch attributes from remote entry, it won&apos;t cause any issue, because lookup() will find UPDATE lock is not there, and then it will fetch it synchronously. And directories with many remote entries should be rare case? if so, statahead failure should be rare too.&lt;/p&gt;</comment>
                            <comment id="121588" author="di.wang" created="Fri, 17 Jul 2015 22:50:35 +0000"  >&lt;p&gt;Hmm, this is actually a bug more than an optimization.  For remote entry, the LOOCK lock is actually granted by parent MDT, instead of child MDT. And in this function, it sends both LOOKUP and UPDATE lock to the child MDT, and the MDT has no way to know if the FID has  local or remote entry, then it might grant both LOCKS, which is wrong of course.  So in lmv_intent_getattr_async, it should tell if the name entry is remote entry, then enqueue lookup lock on the parent MDT, and update lock on the child MDT. Or only enqueue update lock on the child MDT. (or maybe skip remote entry, if you think implement this is complicate.) &lt;/p&gt;</comment>
                            <comment id="122371" author="gerrit" created="Tue, 28 Jul 2015 02:56:50 +0000"  >&lt;p&gt;Lai Siyao (lai.siyao@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/15767&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/15767&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6578&quot; title=&quot;inodebit locks for remote entries.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6578&quot;&gt;&lt;del&gt;LU-6578&lt;/del&gt;&lt;/a&gt; statahead: drop support for remote entry&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: c1bf57c81dbe18629169436f674e8c44a90d0403&lt;/p&gt;</comment>
                            <comment id="128182" author="gerrit" created="Tue, 22 Sep 2015 23:22:59 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/15767/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/15767/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6578&quot; title=&quot;inodebit locks for remote entries.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6578&quot;&gt;&lt;del&gt;LU-6578&lt;/del&gt;&lt;/a&gt; statahead: drop support for remote entry&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: c0944cc831183a3af9adc7d41cca222b636eec2f&lt;/p&gt;</comment>
                            <comment id="128229" author="pjones" created="Wed, 23 Sep 2015 13:06:34 +0000"  >&lt;p&gt;Landed for 2.8&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="31031">LU-6829</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|hzxcp3:</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>
                                                                                            <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>