<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:56:10 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-5980] Eliminate old quota formats</title>
                <link>https://jira.whamcloud.com/browse/LU-5980</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;From comment in Lustre code,  &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;we use different index feature for each quota type and target type for the time being. This is done for on-disk conversion from the old quota format. Once this is no longer required, we should just be using dt_quota_glb_features for all global index file &lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;In Lustre 2.8, tag 2.7.53 and above, the code for the on-disk conversion of the old quota format is no longer used, due to LUSTRE_VERSION_CODE, and the conversion is no longer supported. If we want to continue to support the old format, the following code should be modified else it should be removed.&lt;/p&gt;

&lt;p&gt;In lustre/quota/lquota_disk.c, routine lquota_disk_glb_find_create(),&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;#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 7, 53, 0)
	/* we use different index feature for each quota type and target type
	 * for the time being. This is done for on-disk conversion from the old
	 * quota format. Once this is no longer required, we should just be
	 * using dt_quota_glb_features for all global index file */
	idx_feat = glb_idx_feature(fid);
#else
	idx_feat = &amp;amp;dt_quota_glb_features;
#endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In lustre/quota/lquota_lib.c, glb_idx_features() and associated structs are no longer defined/supported. &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;#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 7, 53, 0)
/* Index features supported by the global index objects.
 * We actually use one dt_index_features structure for each quota combination
 * of quota type x [inode, block] to allow the ldiskfs OSD to recognize those
 * objects and to handle the conversion from the old administrative quota file
 * format */
struct dt_index_features dt_quota_iusr_features;
EXPORT_SYMBOL(dt_quota_iusr_features);
struct dt_index_features dt_quota_busr_features;
EXPORT_SYMBOL(dt_quota_busr_features);
struct dt_index_features dt_quota_igrp_features;
EXPORT_SYMBOL(dt_quota_igrp_features);
struct dt_index_features dt_quota_bgrp_features;
EXPORT_SYMBOL(dt_quota_bgrp_features);

/**
 * Helper routine returning the right index feature structure to be used
 * depending on the FID of the global index.
 */
const struct dt_index_features *glb_idx_feature(struct lu_fid *fid)
{
	int	res_type, quota_type, rc;

	rc = lquota_extract_fid(fid, NULL, &amp;amp;res_type, &amp;amp;quota_type);
	if (rc)
		return ERR_PTR(rc);

	if (quota_type == USRQUOTA) {
		if (res_type == LQUOTA_RES_MD)
			return &amp;amp;dt_quota_iusr_features;
		else
			return &amp;amp;dt_quota_busr_features;
	} else {
		if (res_type == LQUOTA_RES_MD)
			return &amp;amp;dt_quota_igrp_features;
		else
			return &amp;amp;dt_quota_bgrp_features;
	}
}
#endif /* LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 7, 53, 0) */
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and in init_lquota():&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;#if LUSTRE_VERSION_CODE &amp;lt; OBD_OCD_VERSION(2, 7, 53, 0)
	dt_quota_iusr_features = dt_quota_busr_features = dt_quota_glb_features;
	dt_quota_igrp_features = dt_quota_bgrp_features = dt_quota_glb_features;
#endif
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="27787">LU-5980</key>
            <summary>Eliminate old quota formats</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="3">Duplicate</resolution>
                                        <assignee username="niu">Niu Yawei</assignee>
                                    <reporter username="jamesanunez">James Nunez</reporter>
                        <labels>
                            <label>quota</label>
                    </labels>
                <created>Wed, 3 Dec 2014 23:47:28 +0000</created>
                <updated>Tue, 11 Aug 2015 01:47:41 +0000</updated>
                            <resolved>Tue, 11 Aug 2015 01:47:41 +0000</resolved>
                                    <version>Lustre 2.8.0</version>
                                    <fixVersion>Lustre 2.8.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="123761" author="pjones" created="Mon, 10 Aug 2015 17:55:25 +0000"  >&lt;p&gt;Niu&lt;/p&gt;

&lt;p&gt;Did this get handled under &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6617&quot; title=&quot;Remove quota migration code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6617&quot;&gt;&lt;del&gt;LU-6617&lt;/del&gt;&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="123807" author="niu" created="Tue, 11 Aug 2015 01:47:41 +0000"  >&lt;p&gt;Right, this was fixed in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6617&quot; title=&quot;Remove quota migration code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6617&quot;&gt;&lt;del&gt;LU-6617&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="30227">LU-6617</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="15709">LU-1842</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|hzx1v3:</customfieldvalue>

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