<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:32:52 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-10190] Agent object for cross-MDTs reference</title>
                <link>https://jira.whamcloud.com/browse/LU-10190</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In DNE environment, the object and its name entry may reside on different MDTs. Under such case, we will create an agent object on the MDT where the name entry resides. The agent object is empty to indicates that the real object for this name entry resides on another MDT. If without agent object, related name entry will be skipped when perform MDT side file level backup/restore via ZPL by userspace tool, such as &apos;tar&apos;.&lt;/p&gt;

&lt;p&gt;ldiskfs supports agent object. After migrated to ZFS, the agent object will be on ZFS backend. ZFS needs to handle it to avoid leak. So supporting agent object is necessary if want to backup/restore ZFS via ZPL, or migrate ZFS to ldiskfs.&lt;/p&gt;

&lt;p&gt;On the other hand, although ldiskfs supports agent object, but for regular-file, too much agent objects is not a good solution. We will consider to share agent object for multiple remote reference case.&lt;/p&gt;</description>
                <environment></environment>
        <key id="49078">LU-10190</key>
            <summary>Agent object for cross-MDTs reference</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="33790">LU-7585</parent>
                                    <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="yong.fan">nasf</assignee>
                                    <reporter username="yong.fan">nasf</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Nov 2017 01:18:59 +0000</created>
                <updated>Sun, 17 Dec 2017 16:08:20 +0000</updated>
                            <resolved>Sun, 17 Dec 2017 16:08:20 +0000</resolved>
                                                    <fixVersion>Lustre 2.11.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="212847" author="yong.fan" created="Mon, 6 Nov 2017 10:14:34 +0000"  >&lt;blockquote&gt;
&lt;p&gt;On the other hand, although ldiskfs supports agent object, but for regular-file, too much agent objects is not a good solution. We will consider to share agent object for multiple remote reference case.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;One issue about the solution of multiple remote entries sharing the same agent object is that we have to depend on the FID-in-dirent to locate remote object. But the FID-in-dirent will be lost after server side file-level backup/restore. Then before the namespace LFSCK rebuild the FID-in-dirent, we have no way to access such remote object via namespace. That breaks the requirement that the system should be accessible during LFSCK.&lt;/p&gt;</comment>
                            <comment id="214107" author="yong.fan" created="Mon, 20 Nov 2017 06:46:08 +0000"  >&lt;p&gt;Another optimization should be done is for ZFS backend. Currently, we have to lookup the entry with the given name to be removed for dir_delete operation. Because we do not know whether the given name is for a cross-MDTs reference or not. If yes, we need to destroy related agent object to avoid leak. But for local reference case, such lookup is useless. To avoid the overhead, we need some better solution.&lt;/p&gt;

&lt;p&gt;One possible solution is that, we can enhance the dt_delete() API to pass related object&apos;s FID information to the OSD, then the OSD can know whether need to handle agent object or not.&lt;/p&gt;

&lt;p&gt;On the other hand, since ZFS needs to lookup the entry with the given name (to be removed) for zap_remove, is it possible to enhance related API to allow ZFS to remove the given entry directly? That means to move the ZFS internal lookup to Lustre OSD, just like ldiskfs backend does.&lt;/p&gt;</comment>
                            <comment id="216511" author="gerrit" created="Sun, 17 Dec 2017 06:19:54 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/28855/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/28855/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10190&quot; title=&quot;Agent object for cross-MDTs reference&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10190&quot;&gt;&lt;del&gt;LU-10190&lt;/del&gt;&lt;/a&gt; osd-zfs: create agent object for remote object&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: c0a455e6d035c3ce4f9d52395b0a77773b2fac93&lt;/p&gt;</comment>
                            <comment id="216544" author="pjones" created="Sun, 17 Dec 2017 16:08:20 +0000"  >&lt;p&gt;Landed for 2.11&lt;/p&gt;</comment>
                    </comments>
                    <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|hzzmzz:</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>