<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:47:32 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-4983] deprecate struct obd_ioctl_data</title>
                <link>https://jira.whamcloud.com/browse/LU-4983</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This is prompted by comments on &lt;a href=&quot;http://review.whamcloud.com/#/c/10139&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/10139&lt;/a&gt; from &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4961&quot; title=&quot;utils and test should not depend on obd.h or liblustre.h&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4961&quot;&gt;&lt;del&gt;LU-4961&lt;/del&gt;&lt;/a&gt;. Use of struct obd_ioctl_data tends to lead to some really opaque, unmaintainable, and nonportable code.&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;This is a huge kitchen sink structure with 2 obdos, several unions,...&lt;/li&gt;
	&lt;li&gt;It has several embdedded pointers, some of which are &apos;inline&apos; and therefore invalid when the data crosses from user to kernel space or back. Others are out of line but lack a __user attribute.&lt;/li&gt;
	&lt;li&gt;The reader must manually remember that something goes in inlbuf1, something else goes in inlbuf2, and so on.&lt;/li&gt;
	&lt;li&gt;As Andreas has pointed out, it interleaves fixed width integer types (__u32,...) with API dependent type (char *).&lt;/li&gt;
	&lt;li&gt;Most users of obd_ioctl_data could &lt;b&gt;easily&lt;/b&gt; be rewritten to use a fixed size struct, or a struct with a single variable length array at the end.&lt;/li&gt;
	&lt;li&gt;Several of the ioctls that use it could just be replaced by reading the right proc files.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Libcfs and LNet have some similar dysfunction.&lt;/p&gt;

&lt;p&gt;Tangentially, we need to set some standards about adding new ioctls. For example an ioctl that creates a new inode (like LL_IOC_LMV_SETSTRIPE) must accept a mode_t parameter. Ioctls that accept names must handle them properly. And so on.&lt;/p&gt;</description>
                <environment></environment>
        <key id="24500">LU-4983</key>
            <summary>deprecate struct obd_ioctl_data</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="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>llapi</label>
                            <label>obd</label>
                    </labels>
                <created>Wed, 30 Apr 2014 01:37:54 +0000</created>
                <updated>Mon, 31 Jan 2022 04:28:20 +0000</updated>
                                            <version>Lustre 2.6.0</version>
                                                        <due></due>
                            <votes>1</votes>
                                    <watches>4</watches>
                                                                                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="24396">LU-4961</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|hzwlh3:</customfieldvalue>

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